1
我通過查詢有一羣其中在PHP PDO工作正常工作,但是當我在MySQL INI添加「的sql_mode = ONLY_FULL_GROUP_BY」,相同的查詢失敗,錯誤GROUP BY查詢不嚴格ONLY_FULL_GROUP_BY SQL模式
SQLSTATE [42000]:語法錯誤或訪問衝突:1055「db.table.t_date」是不是在GROUP BY
的實際查詢
SELECT
*
FROM
(
SELECT
DATE_FORMAT(t_date, '%b') AS mon,
DATE_FORMAT(t_date, '%Y-%m') AS fy_date,
(SUM(val1) - SUM(val2)) AS net_val
FROM
TABLE
GROUP BY
YEAR(t_date),
MONTH(t_date)
ORDER BY
DATE_FORMAT(t_date, '%Y-%m') DESC
LIMIT 12
) AS tbl
ORDER BY
fy_date
有人可以告訴爲什麼上面的查詢不工作
sql_mode = ONLY_FULL_GROUP_BY
未嘗試此操作,但會在子查詢中爲'group by'添加'DATE_FORMAT(t_date,'%b')'解決問題? – Fluffeh
沒有,沒有工作:GROUP BY YEAR(t_date),MONTH(t_date),DATE_FORMAT(t_date,'%b') – Sumedh
如果我沒有弄錯,你需要將'date_format'按DATE_FORMAT(t_date,'%b'),DATE_FORMAT(t_date,'%Y-%m')組分組,因爲**所有**非聚合列需要分組。 –