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

Вниз

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

 
atruhin ©   (2005-05-17 12:27) [0]

Т.е. проблема в том, что count(distinct Field) не учитывает значения NULL, вложенные запросы типа select count(*) from (select distinct Field ...) в IB не работают. Можно ли решить эту задачу одним запросом без VIEW и  ХП


 
Zacho ©   (2005-05-17 12:59) [1]

А ты несколько записей с NULL собираешься считать за одну уникальную или нет ?


 
Johnmen ©   (2005-05-17 13:05) [2]

count(distinct Field) + 1
или
count(distinct Field) + (select count(*) ... where Field is null)


 
Zacho ©   (2005-05-17 13:25) [3]


> Johnmen ©   (17.05.05 13:05) [2] [Новое
>сообщение][Ответить]
> count(distinct Field) + 1


А если в таблице вообще нет записей с NULL ? :)


 
Johnmen ©   (2005-05-17 13:32) [4]

>Zacho ©   (17.05.05 13:25) [3]

"На нет и вопросов нет" (с)
:)

А что не так ?


 
Zacho ©   (2005-05-17 13:39) [5]


> А что не так ?


В этом случае будет неверный результат :) Я именно про запрос count(distinct Field) + 1
и про случай, когда несколько записей с NULL нужно считать одинаковыми.


 
Polevi ©   (2005-05-17 13:56) [6]

select count(*) group by field


 
Polevi ©   (2005-05-17 13:56) [7]

упс, сорри


 
Polevi ©   (2005-05-17 13:57) [8]

select count(*) from (select field group by field)


 
Zacho ©   (2005-05-17 14:07) [9]

Polevi ©   (17.05.05 13:57) [8]

Ну нету такого в IB, о чём уже упоминалось в посте автора ветки :)


 
Polevi ©   (2005-05-17 14:10) [10]

печально


 
Johnmen ©   (2005-05-17 14:12) [11]

>Zacho ©   (17.05.05 13:39) [5]

Ну это легко исправить.


 
Zacho ©   (2005-05-17 14:13) [12]

Johnmen ©   (17.05.05 14:12) [11]

Как ? На чистом IB SQL в одном запрсе ?
Я сходу не придумал.


 
Johnmen ©   (2005-05-17 14:17) [13]

>Zacho ©   (17.05.05 14:13) [12]

+(select count(1) from .. where exists ...)


 
Zacho ©   (2005-05-17 14:21) [14]

Johnmen ©   (17.05.05 14:17) [13]

О !! Точно ! Проктология конечно, но должно работать :)



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

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

Наверх




Память: 0.5 MB
Время: 0.03 c
1-1117894004
Motion
2005-06-04 18:06
2005.06.29
Объявление предела массива


1-1117806913
Deka
2005-06-03 17:55
2005.06.29
Обновление для Delphi 2005...


1-1118321930
arant
2005-06-09 16:58
2005.06.29
ClientDataSet с вложенным набором данных


14-1117446788
Ajax
2005-05-30 13:53
2005.06.29
Покупка цифровой мыльницы в Питере


1-1117739454
Starcom
2005-06-02 23:10
2005.06.29
Руссификация InstallShield v 3.5