|
|
|
Как можно посчитать количество записей, полученных после запроса с группировкой?
|
|||
|---|---|---|---|
|
#18+
Не подскажете, как можно посчитать количество записей, полученных после запроса с группировкой? Я их считаю в ХП так: KPK_2004 = 0; FOR SELECT SP.PREDMET, T.KOD FROM TEACHERS T LEFT JOIN SUBJPARTICIPANTS SP ON T.KOD = SP.TEACHER WHERE T.KOD IS NOT NULL AND T.TERR = :UO AND EXTRACT(YEAR FROM (CAST (RTRIM(T.DATEKVALIF) AS DATE)))=2004 AND SP.PREDMET = :PREDMET_I GROUP BY SP.PREDMET, T.KOD INTO TEMP_PREDMET, TEMP_KOD DO KPK_2004 = :KPK_2004 +1; Можно ли получить тот же самый результат ОДНИМ запросом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 07:49:21 |
|
||
|
Как можно посчитать количество записей, полученных после запроса с группировкой?
|
|||
|---|---|---|---|
|
#18+
авторМожно ли получить тот же самый результат ОДНИМ запросом? Получить где??? в ХП или на клиенте??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 07:56:13 |
|
||
|
Как можно посчитать количество записей, полученных после запроса с группировкой?
|
|||
|---|---|---|---|
|
#18+
ДаниилНе подскажете, как можно посчитать количество записей, полученных после запроса с группировкой? Я их считаю в ХП так: KPK_2004 = 0; FOR SELECT SP.PREDMET, T.KOD FROM TEACHERS T LEFT JOIN SUBJPARTICIPANTS SP ON T.KOD = SP.TEACHER WHERE T.KOD IS NOT NULL AND T.TERR = :UO AND EXTRACT(YEAR FROM (CAST (RTRIM(T.DATEKVALIF) AS DATE)))=2004 AND SP.PREDMET = :PREDMET_I GROUP BY SP.PREDMET, T.KOD INTO TEMP_PREDMET, TEMP_KOD DO KPK_2004 = :KPK_2004 +1; Можно ли получить тот же самый результат ОДНИМ запросом? А разве агрегатную функцию COUNT уже отменили? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 11:05:45 |
|
||
|
Как можно посчитать количество записей, полученных после запроса с группировкой?
|
|||
|---|---|---|---|
|
#18+
wolverinПолучить где??? в ХП или на клиенте??? Одним SQL-запросом, а не подсчетом записей по одной перебором. SEFА разве агрегатную функцию COUNT уже отменили? Ну и как ее применить к этому случаю? Я про это и спрашиваю... Мне надо что-то типа SELECT COUNT(*) FROM (SELECT ...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 11:43:26 |
|
||
|
Как можно посчитать количество записей, полученных после запроса с группировкой?
|
|||
|---|---|---|---|
|
#18+
ДаниилОдним SQL-запросом, а не подсчетом записей по одной перебором. Еще раз спрошу: ГДЕ ПОЛУЧИТЬ ТО НАДО??? Если на клиенте, чем самый обычный RecordCount для DataSet не устраивает или др его аналог. Если на в ХП, то вместо всего заголока только после select-а (без FOR) написать COUNT(*). Если возвращаемые переменные нужны, то чем мешает лишняя временная переменная. Уточните проблему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 12:41:58 |
|
||
|
Как можно посчитать количество записей, полученных после запроса с группировкой?
|
|||
|---|---|---|---|
|
#18+
Еще раз поясняю: Одним SQL-запросом. Т.е. чтобы РЕЗУЛЬТАТ этого ЗАПРОСА = количество записей сгруппированного запроса. Получить результат надо НА СЕРВЕРЕ, БЕЗ ИСПОЛЬЗОВАНИЯ ХП. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 13:35:11 |
|
||
|
Как можно посчитать количество записей, полученных после запроса с группировкой?
|
|||
|---|---|---|---|
|
#18+
wolverinвместо всего заголока только после select-а (без FOR) написать COUNT(*) Это как? Мне надо сначало сгруппировать, а потом посчитать, сколько их получилось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 13:37:11 |
|
||
|
Как можно посчитать количество записей, полученных после запроса с группировкой?
|
|||
|---|---|---|---|
|
#18+
ДаниилЭто как? Мне надо сначало сгруппировать, а потом посчитать, сколько их получилось. Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 13:49:17 |
|
||
|
Как можно посчитать количество записей, полученных после запроса с группировкой?
|
|||
|---|---|---|---|
|
#18+
Только сейчас заметил... ;) У меня в запросе, который привожу в качестве примера, SP.PREDMET имеет одно и то же значение, группировать по нему не имеет смысла. Поэтому с одим "сгруппированным" полем считать количество записей можно так: SELECT COUNT (DISTINCT T.KOD) FROM TEACHERS T LEFT JOIN SUBJPARTICIPANTS SP ON T.KOD = SP.TEACHER WHERE SP.PREDMET IS NOT NULL AND T.KOD IS NOT NULL AND T.TERR = :UO AND EXTRACT(YEAR FROM (CAST (RTRIM(T.DATEKVALIF) AS DATE)))=2004 AND SP.PREDMET = :PREDMET У меня оказался частный случай... Но все-таки, если полей при группировке несколько (а DISTINCT не дает перечислять несколько полей), то как быть при подсчете количества записей? С SINGULAR пробовал сделать - дык для него нет параметров, которые можно было написать в WHERE... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 13:55:05 |
|
||
|
Как можно посчитать количество записей, полученных после запроса с группировкой?
|
|||
|---|---|---|---|
|
#18+
wolverinЧе так не работает? Конечно нет. Это дает количество записей по КАЖДОЙ _сгруппированной_ - совсем не то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 13:57:11 |
|
||
|
Как можно посчитать количество записей, полученных после запроса с группировкой?
|
|||
|---|---|---|---|
|
#18+
Здается мне что ему надо сумму не всего а по группам... или как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 13:58:02 |
|
||
|
Как можно посчитать количество записей, полученных после запроса с группировкой?
|
|||
|---|---|---|---|
|
#18+
Млять!!! Да простит мне о всевышний ДаниилУ меня оказался частный случай... Где же он частный, если ты в условии написал SP.PREDMET = :PREDMET И вообще накой DISTINCT и GROUP BY вообще использовать??? Попробуй без них ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 14:15:41 |
|
||
|
Как можно посчитать количество записей, полученных после запроса с группировкой?
|
|||
|---|---|---|---|
|
#18+
wolverinГде же он частный, если ты в условии написал SP.PREDMET = :PREDMET Дык и я про тож ;) В этом конкретном случае GROUP BY идет по полю, на которое есть однозначное условие в WHERE. В других подобных запросах этого нет, поэтому я не сразу заметил. wolverinИ вообще накой DISTINCT и GROUP BY вообще использовать??? Затем, чтоб повторяющиеся записи убрать из подсчета. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 14:37:05 |
|
||
|
Как можно посчитать количество записей, полученных после запроса с группировкой?
|
|||
|---|---|---|---|
|
#18+
Дошло таки до меня че надо - число групп!!! ДаниилЗатем, чтоб повторяющиеся записи убрать из подсчета. На мой взгляд , такую задачу в лоб (одним запросом с клиента) решить врядли удасться. Вот это появиться только в следующей версии FB ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.08.2004, 16:58:56 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=32648753&tid=1578078]: |
0ms |
get settings: |
9ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
227ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 197ms |
| total: | 509ms |

| 0 / 0 |
