SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 03.04.2017 16:09:04

lloyd
Участник
Зарегистрирован: 03.08.2015
Сообщений: 2

Нарастающий итог и only_full_group_by

Есть таблица устройств с датой регистрации date_register.

Необходимо выводить кол-во зарегистрированных устройств с нарастающим итогом сгруппированных по месяцам года.


SELECT
    (SELECT COUNT(*) FROM `system_player` as `inner` WHERE `inner`.`date_register` <= `system_player`.`date_register`) total_increment,  
    CAST(DATE_FORMAT(`system_player`.`date_register`, '%Y-%m-01 00:00:00') AS DATETIME) AS `month`,
    COUNT(`system_player`.`id`) AS `total`
FROM `system_player`
WHERE
    YEAR(`system_player`.`date_register`) = 2016
GROUP BY `month`
ORDER BY `month` ASC
 


В MySQL 5.7 этот запрос вызывает ошибку из-за режима ONLY_FULL_GROUP_BY. (в более ранних все работает)

Вопрос как переписать запрос, чтобы ошибки не было?

Отредактированно lloyd (03.04.2017 16:11:24)

Неактивен

 

#2 03.04.2017 16:18:00

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5248

Re: Нарастающий итог и only_full_group_by

http://sqlinfo.ru/articles/info/18.html

сменить режим?
set @@sql_mode='';

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson