評等結果
點擊便能為這篇文章進行評等!
[評等總次數: 1,平均評等: 2]
其實這個問題小編老早就遇過了,但是當時問題解決後沒有寫下筆記所以又重新找了一次解法,果然認真寫筆記是必要的免的多花一些無畏的時間去做重覆的事,這樣我的產值就下降了;問題就是 group by 選取欄位非功能函式,會出現 error #1055 ,解法也很簡單設定相關參數即可。
這樣是可以查詢的
select id, max(time) from table where age>'30' group by id;
但是這樣多個欄位就會出現錯誤
select id, max(time),name from table where age>'30' group by id;
錯誤訊息
1055 – Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column ‘db.table.columns’ which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
預設的查詢模式只能顯示 group by 欄位,其它的都只能是功能函式
解決方法:
去mysql停用 only_full_group_by 設定
mysql -u root -p
mysql> SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY',''));
Query OK, 0 rows affected (0.00 sec)
參考網址:
https://stackoverflow.com/questions/23921117/disable-only-full-group-b
評等結果
點擊便能為這篇文章進行評等!
[評等總次數: 1,平均評等: 2]