Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.05.20;
Скачать: CL | DM;

Вниз

Как получить записи с единственным значением поля?   Найти похожие ветки 

 
Ш-К   (2007-03-02 03:58) [0]

Есть таблица table1 (f1, f2, f3).
Надо получить все те записи, где значение у поля f1 встречается один раз.


 
Ш-К   (2007-03-02 05:06) [1]

Нашел:
SELECT f1, Min(f2), Min(f3)
FROM table1
GROUP BY f1
HAVING Count(f1)=1


А так не работает:
SELECT f1, f2, f3
FROM table1
GROUP BY f1
HAVING Count(f1)=1


 
ЮЮ ©   (2007-03-02 05:39) [2]

SELECT f1, f2, f3
FROM table1
WHERE t1 IN
 (
   SELECT f1
   FROM table1
   GROUP BY f1
   HAVING Count(f1)=1
 )


 
Ш-К   (2007-03-02 06:01) [3]

У меня был такой вариант, только неправилиный )


 
Atanas   (2007-03-02 08:33) [4]

В предыдущем варианте замени t1 на f1 т.е.

SELECT f1, f2, f3
FROM table1
WHERE t1 IN
(
  SELECT f1
  FROM table1
  GROUP BY f1
  HAVING Count(f1)=1
)

И все работает


 
Atanas   (2007-03-02 08:36) [5]

Прошу прощения, вот так

SELECT f1, f2, f3
FROM table1
WHERE f1 IN
(
  SELECT f1
  FROM table1
  GROUP BY f1
  HAVING Count(f1)=1
)

А вот этот вариант работать не будет

SELECT f1, f2, f3
FROM table1
GROUP BY f1
HAVING Count(f1)=1

Потому, все что не в group by должно быть агрегатными функциями а у тебя там поля f2 и f3


 
~SerJant~   (2007-03-02 10:48) [6]

немного проще )))

SELECT f1, f2, f3
FROM table1 t
WHERE (select count(t1.f1) from table1 t1 where t1.f1 = t.f1)=1



Страницы: 1 вся ветка

Текущий архив: 2007.05.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.036 c
2-1178180459
lobach
2007-05-03 12:20
2007.05.20
Разделители


15-1176697078
X9
2007-04-16 08:17
2007.05.20
Работа на Электроника МК 61


2-1177947590
Doom_2
2007-04-30 19:39
2007.05.20
TClientSocket и TServerSocket


3-1172815383
cad2206
2007-03-02 09:03
2007.05.20
MySQL и русские символы


15-1176934894
vasIZmax
2007-04-19 02:21
2007.05.20
Re: Опрос