Как сделать чтобы функция хранила агрегатное значение и не использовалась в GROUP BY

247
24 октября 2021, 10:40
SELECT  Cast (dateadd(hour, datediff(hour, 0, Call.Time_of_Call), 0) as time) 
AS TimeStampHour,Hotlines.Name,Count(Call.ID)
FROM Call, Call_Fixation, Hotlines
WHERE Call.ID = Call_Fixation.id_call
AND Call_Fixation.id_hotline = Hotlines.ID
GROUP BY Hotlines.Name

Есть таблицы: Call, Call_Fixation(id значения других таблиц хранит), и Hotlines. Мне нужно вывести значения как на картинке, но в месте где "13:00:00 Trevor Helpline 2" у меня разделяеться на 2 значения с 1(если добавить в GROUP BY Call.Time_of_Call), если же убрать Call.Time_of_Call из Group By то пишет что Call.Time_of_Call не хранит ни результата агрегованых функций и не используеться в GROUP BY

Answer 1

если у вас будут 2 строки со значениями 13:01:00и 13:02:00 то фактически это разные значения, вы по ним группируете, и получаете разные строки. А выводите в выборке только 13:00:00 для обоих строк. Поэтому и получается, что видите вы одно и тоже значение, но в разных строках.

Вам группировать надо по такому же значению каки в выборке. А просто убирая time_of_call из группировки вы нарушаете sql-синтаксис (хоть mysql и пропускает это мимо в старых версиях). Поэтому и получаете ошибку, что поля из select либо должны присутствовать в группировке, либо использовать агрегатные функции.

  select hour(time_of_call) + ':00', name, count(*)
  from t1
  ....
  group by hour(time_of call), name
READ ALSO
Не понимаю, как работают внешние ключи

Не понимаю, как работают внешние ключи

Есть проблема, видимо с пониманием принципа работы внешних ключейЕсть бд blog с двумя таблицами - users (где собраны логин, пароли и пр

120
Перенос целых слов в CSS

Перенос целых слов в CSS

Есть блок меню, реализуемый через списокЕсть пункт, состоящий из нескольких слов

196
Почему first-of-type и [href$=] не взаимодействуют вместе?

Почему first-of-type и [href$=] не взаимодействуют вместе?

Есть список с позициями, которых может быть произвольное количество, но первый и последний при этом совпадают по ссылке

180
User Script. Перехват события на сайте без дальнейшей обработки события этим сайтом

User Script. Перехват события на сайте без дальнейшей обработки события этим сайтом

Хочу написать скриптПользователь нажимает мышкой на окно сайта, мой скрипт перехватывает это событие, обрабатывает его, но вот сам сайт его...

170