MySQL для mssql группировки со смешанными полями - PullRequest
0 голосов
/ 03 июля 2019

Я хочу выполнить простой запрос на сервере ms-sql, который нормально работает в mysql, но кажется невозможным для Microsoft.

Работает нормально:

SELECT COUNT(event_date) AS Amount, event_date, DATE_FORMAT(event_date,'%y-%m-%d') AS Timestep 
FROM JRLOG 
GROUP BY Timestep;

Работает толькокогда я удаляю поле event_date из запроса

SELECT COUNT(event_date) AS Amount, event_date, FORMAT(event_date,'yyyy-MM-dd') AS Timestep 
FROM [JRLOG] 
GROUP BY FORMAT(event_date,'yyyy-MM-dd');

И почему я не могу использовать виртуальное поле Timestep в части GROUP на MSSQL?

Я получаю ошибку MSSQL:

Недопустимый столбец event_date в списке выбора, поскольку он не содержится в статистической функции и не содержится в предложении GROUP BY.

Существует ли возможность взять событие event_date или другоеполе со мной в запросе SELECT?

1 Ответ

0 голосов
/ 03 июля 2019

я думаю, что вы имеете в виду:

SELECT COUNT(event_date) AS Amount, event_date, FORMAT(event_date,'yyyy-MM-dd') AS Timestep 
FROM [JRLOG] 
GROUP BY event_date,FORMAT(event_date,'yyyy-MM-dd');

или

SELECT COUNT(event_date) AS Amount, MIN(event_date), FORMAT(event_date,'yyyy-MM-dd') AS Timestep 
FROM [JRLOG] 
GROUP BY FORMAT(event_date,'yyyy-MM-dd');
...