簡體   English   中英

MySQL:only_full_group_by多個日期不在分組依據中

[英]MySQL : only_full_group_by multiple date isn't in group by

激活only_full_group_by時如何正確查詢?

SELECT
    MAX(DATE (`date`)) AS `date_full`,
    WEEKDAY(`date`) AS `date_week`,
    COUNT(`id`) AS `visits`
    FROM `xxx_visits_stats` 
    WHERE YEAR(`date`) = YEAR("2017-01-01") 
    GROUP BY `date_week`
    ORDER BY `date` DESC

沒有(禁用)only_full_group_by可以正常工作!

我認為您的問題是由於您按的是GROUP BY中未提及的列進行排序,而且該列也不是合計的。

嘗試這個:

  SELECT MAX(DATE(`date`)) AS `date_full`,
         WEEKDAY(`date`) AS `date_week`,
         COUNT(`id`) AS `visits`
    FROM `xxx_visits_stats` 
   WHERE YEAR(`date`) = YEAR("2017-01-01") 
   GROUP BY WEEKDAY(`date`)
   ORDER BY 1 DESC

這種形式的ORDER BY意味着使用SELECT子句中的第一列進行排序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM