I имеют следующие столбцы таблицы:Как достичь MAX (COUNT (имя_столбца))
CommunicationNumber, DayOfWeekSlot, TwoHourSlot
Я хочу, чтобы подсчитать количество строк для каждого CommunicationNumber
где DayOfWeekSlot
и TwoHourSlot
одинаковы. Из этого результата я хочу выбрать строку, в которой число (DayOfWeekSlot/TwoHourSlot)
является самым высоким.
Я написал следующий запрос:
SELECT tblLog.CommunicationNumber, MAX(tblLog.Priority) AS Frequency, tblLog.DayOfWeekSlot, tblLog.TwoHourSlot
FROM (SELECT CommunicationNumber, Count(*) AS Priority, DayOfWeekSlot, TwoHourSlot
FROM Miafon.dbo.tblPhoneLogRep
WHERE CallDuration > 0
GROUP BY CommunicationNumber, DayOfWeekSlot, TwoHourSlot) tblLog
GROUP BY tblLog.CommunicationNumber, tblLog.DayOfWeekSlot, tblLog.TwoHourSlot
ORDER BY tblLog.CommunicationNumber, Frequency DESC
Этот запрос дает мне следующие столбцы:
CommunicationNumber, Frequency, DayOfWeekSlot, TwoHourSlot
Так как группа I по CommunicationNumber
, TwoHourSlot
и DayOfWeekSlot
, я получаю все строки, где эти значения отличаются (сортируются в порядке убывания частоты). Мне нужна только строка с наибольшим значением частоты.
Как это достичь?
row_number() над .... – Paparazzi
Что вы хотите 'Max (Count)', 'не Count (Макс)'. –
Спасибо @StefanSteinegger. Исправлено название. – rahulthewall