Как выбрать название дня и максимальное среднее с базой данных sql - PullRequest
0 голосов
/ 11 апреля 2020

В моей базе данных есть следующие столбцы: - день - браузер - платформы - посетители_номер

Мне нужно выбрать день недели, для которого максимальное количество посетителей было максимальным, и отобразить это максимальное значение. Я искал на форуме, нашел аналогичную ветку, но решение не работает, я получаю ошибку. Я бы добавил, что сижу на нем второй день и мне не хватает идей. Я добавлю, что он работает на phpMyAdmin.

Это мой код:

    select DAYNAME(DAY), avgVIS
    from 
    (
    select DAYNAME(DAY), avg(VISITORS_NUMBER) as avgVIS
    from dane_2 
    group by DAYNAME(DAY)
    ) 
    where avgVIS = (select max(avgVIS) 
              from ( select DAYNAME(DAY), avg(VISITORS_NUMBER) as avgVIS
              from dane_2 
              group by DAYNAME(DAY)))

Это ошибка вывода

#1064 - Something is wrong in your syntax obok 'where avgVIS = (select max(avgVIS)
              from ( select DAYNAME(DAY), a'

Может кто-нибудь мне помочь? Заранее спасибо

1 Ответ

0 голосов
/ 11 апреля 2020

У вас уже есть запрос агрегации, который вычисляет среднесуточное значение. Все, что нужно сделать, это отсортировать и ограничить:

select dayname(d.DAY) day_name, avg(d.VISITORS_NUMBER)  avg_vis
from dane_2 d
group by dayname(d.DAY) 
order by avg_vis desc
limit 1

Примечание: DAY является зарезервированным словом в MySQL, поэтому не очень хороший выбор для имени столбца (я уточнил его с помощью таблицы псевдоним, чтобы избежать ошибок).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...