Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как получить число строк в таком запросе? / 5 сообщений из 5, страница 1 из 1
14.03.2018, 19:28
    #39614984
Blackmore
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить число строк в таком запросе?
Без подзапроса.
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT
fr1.status, sbd_subscriber_id, sbd_bill_ac_no, sbd_dialling_no,  name, fr1.total_charge, '' as DUMMY, fr1.timestamp, fr1.user, 
min(fdr1.prio) as PRIO, description, fr1.case_id 
 FROM fraud_case fr1  
 INNER JOIN fraud_detection_rules fdr1 ON fdr1.rule_id = fr1.rule_id  
 INNER JOIN sbd_sub_dets ON subscriber_id = sbd_subscriber_id  
 INNER JOIN slcustm ON sbd_bill_ac_no = customer 
 WHERE status IN ('N', 'F', 'R')  
 group by 1,2,3,4,5,6,7,8,9  
...
Рейтинг: 0 / 0
14.03.2018, 20:15
    #39615007
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить число строк в таком запросе?
1) Запрос - нерабочий.

2) если причесать, получится (хрен с ней, с некорректностью запроса)
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
SELECT fr1.status  -- 1 поле группировки
     , sbd_subscriber_id -- 2 поле группировки
     , sbd_bill_ac_no -- 3 поле группировки
     , sbd_dialling_no -- 4 поле группировки
     , name -- 5 поле группировки
     , fr1.total_charge -- 6 поле группировки
     , '' as DUMMY -- 7 поле группировки
     , fr1.timestamp -- 8 поле группировки
     , fr1.user -- 9 поле группировки
     , min(fdr1.prio) as PRIO
     , description
     , fr1.case_id 
 FROM fraud_case fr1  
 INNER JOIN fraud_detection_rules fdr1 ON fdr1.rule_id = fr1.rule_id  
 INNER JOIN sbd_sub_dets ON subscriber_id = sbd_subscriber_id  
 INNER JOIN slcustm ON sbd_bill_ac_no = customer 
 WHERE status IN ('N', 'F', 'R')  

 group by 1,2,3,4,5,6,7,8,9  



Соответственно посчитать количество записей можно запросом

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
SELECT COUNT(1) AS recordscount
FROM fraud_case fr1  
INNER JOIN fraud_detection_rules fdr1 ON fdr1.rule_id = fr1.rule_id  
INNER JOIN sbd_sub_dets ON subscriber_id = sbd_subscriber_id  
INNER JOIN slcustm ON sbd_bill_ac_no = customer 
WHERE status IN ('N', 'F', 'R')
GROUP BY fr1.status
       , sbd_subscriber_id
       , sbd_bill_ac_no 
       , sbd_dialling_no 
       , name 
       , fr1.total_charge 
       , fr1.timestamp
       , fr1.user


Поля за рамками группировки на результат не влияют. Литеральное поле - тоже.
...
Рейтинг: 0 / 0
14.03.2018, 20:22
    #39615013
msLex
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить число строк в таком запросе?
AkinaСоответственно посчитать количество записей можно запросом

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
SELECT COUNT(1) AS recordscount
FROM fraud_case fr1  
INNER JOIN fraud_detection_rules fdr1 ON fdr1.rule_id = fr1.rule_id  
INNER JOIN sbd_sub_dets ON subscriber_id = sbd_subscriber_id  
INNER JOIN slcustm ON sbd_bill_ac_no = customer 
WHERE status IN ('N', 'F', 'R')
GROUP BY fr1.status
       , sbd_subscriber_id
       , sbd_bill_ac_no 
       , sbd_dialling_no 
       , name 
       , fr1.total_charge 
       , fr1.timestamp
       , fr1.user




Вы же в курсе, что этот запрос может вернуть более одной записи?
...
Рейтинг: 0 / 0
15.03.2018, 04:31
    #39615150
Ennor Tiegael
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить число строк в таком запросе?
Blackmore,

Добавить в список возвращаемых полей
Код: sql
1.
count(*) over() as [TotalRows]

Группировку трогать не нужно.
...
Рейтинг: 0 / 0
15.03.2018, 21:55
    #39615678
Blackmore
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как получить число строк в таком запросе?
Ennor Tiegael,

Спасибо, то что нужно!
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как получить число строк в таком запросе? / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]