MySQL # 1140 - Смешивание столбцов GROUP

13
задан OMG Ponies 7 October 2010 в 08:11
поделиться

3 ответа

Причина, по которой один столбец, использующий агрегатную функцию , работает, а версия со столбцами, не использующими агрегатные функции, не работает, заключается в том, что вам нужно указать GROUP BY пункт. Вот как должен выглядеть ваш запрос:

   SELECT COUNT(n.nid), 
          n.nid, 
          ctu.field_update_date_value
     FROM NODE n
LEFT JOIN CONTENT_TYPE_UPDATE ctu ON ctu.vid = n.vid
    WHERE n.type IN ('update')
 GROUP BY n.nid, ctu.field_update_date_value
 ORDER BY field_update_date_value DESC

Я заменил псевдонимы ваших таблиц на более короткие - более удобные для чтения. Вот суть вашей проблемы:

   SELECT n.nid,
          COUNT(n.fake_example_column),                
          ctu.field_update_date_value
      ...
 GROUP BY n.nid, ctu.field_update_date_value

Я изменил пример, чтобы использовать фальшивый столбец, чтобы подчеркнуть, как следует определять GROUP BY. Любой столбец, на который вы ссылаетесь без использования агрегатной функции , должен быть упомянут в GROUP BY . Я говорю, что должен , потому что MySQL - единственная база данных, которую я ' m знает, что поддерживает GROUP BY , где вы можете выборочно опускать столбцы - есть множество SO-вопросов о том, почему запросы работают в MySQL, но не могут быть перенесены без изменений в другие БД. По-видимому, в вашем случае вам все равно нужно определить хотя бы один.

11
ответ дан 1 December 2019 в 08:42
поделиться

вернулся к основам:

   SELECT COUNT( node.nid ) 
     FROM node node
LEFT JOIN content_type_update node_data_field_update_date ON node.vid = node_data_field_update_date.vid
    WHERE node.type IN ('update')
 ORDER BY node_data_field_update_date.field_update_date_value DESC
0
ответ дан 1 December 2019 в 08:42
поделиться

Вероятно, на вашем сервере включен ONLY_FULL_GROUP_BY . Вы можете отключить его или добавить каждое из выбранных вами полей в группу с помощью.

13
ответ дан 1 December 2019 в 08:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: