|
|
|
помогите с запросом с группировкой по датам
|
|||
|---|---|---|---|
|
#18+
есть запрос Код: sql 1. но он не работает такой запрос тоже не работает Код: sql 1. зато такой запрос работает Код: sql 1. почему? особенно не понятно с запросом 2 вроде группировку понимаю, но тут совсем не понятно кто объяснит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2019, 07:30 |
|
||
|
помогите с запросом с группировкой по датам
|
|||
|---|---|---|---|
|
#18+
tadeyiloda, Первый и не должен работать. А от второго покажите сообщение об ошибке. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2019, 07:53 |
|
||
|
помогите с запросом с группировкой по датам
|
|||
|---|---|---|---|
|
#18+
ошибка автор#1055 - Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'order_system.order.imported_date' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2019, 08:12 |
|
||
|
помогите с запросом с группировкой по датам
|
|||
|---|---|---|---|
|
#18+
sql_mode= only_full_group_by Т.е. любое поле (в т.ч. выражение) выходного набора обязано быть либо в списке выражений группировки, либо быть аргументом агрегатной функции. Причём поле/выражение в данном случае понятие скорее литеральное (с точностью до формализованного выражения без учёта детерминированных функций), а не смысловое - если в списке вывода есть выражение field1+field2, а в списке группировки field2+field1, то это РАЗНЫЕ литералы, а вот SIN(field) в списке вывода и ABS(field) в выражении группировки - допустимы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2019, 09:53 |
|
||
|
помогите с запросом с группировкой по датам
|
|||
|---|---|---|---|
|
#18+
Кстати, в третьем запросе можно использовать алиас выходного набора вместо его выражения: Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2019, 09:54 |
|
||
|
помогите с запросом с группировкой по датам
|
|||
|---|---|---|---|
|
#18+
Вернее, алиас можно использовать в любом из трёх запросов. Просто первые два лишь формально останутся теми же. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2019, 09:55 |
|
||
|
помогите с запросом с группировкой по датам
|
|||
|---|---|---|---|
|
#18+
Akinasql_mode= only_full_group_by Т.е. любое поле (в т.ч. выражение) выходного набора обязано быть либо в списке выражений группировки, либо быть аргументом агрегатной функции. Причём поле/выражение в данном случае понятие скорее литеральное (с точностью до формализованного выражения без учёта детерминированных функций), а не смысловое - если в списке вывода есть выражение field1+field2, а в списке группировки field2+field1, то это РАЗНЫЕ литералы, а вот SIN(field) в списке вывода и ABS(field) в выражении группировки - допустимы. получается нужно отключать sql_mode= only_full_group_by чтобы заработал запрос с concat? странное поведение, это баг? версия 5.7 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2019, 10:07 |
|
||
|
помогите с запросом с группировкой по датам
|
|||
|---|---|---|---|
|
#18+
tadeyilodaполучается нужно отключать sql_mode= only_full_group_by чтобы заработал запрос с concat?Нет. Наоборот - надо писать запросы так, чтобы они соответствовали стандарту, а не локальному расширению для ленивых пользователей. Т.е. третий запрос - это правильный вариант, соответствующий стандарту, и именно таким и должен быть запрос. А отключение only_full_group_by для того, чтобы получить возможность говнокодить - это явно не best practice... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2019, 12:38 |
|
||
|
|

start [/forum/topic.php?fid=47&fpage=33&tid=1829064]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
| others: | 14ms |
| total: | 158ms |

| 0 / 0 |

Извините, этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
... ля, ля, ля ...