關於MySQL中group by的一些問題的記錄

2022-09-10 16:27:21 字數 752 閱讀 1653

這個報錯的原因是,在sql語句中,你查詢的字段應該是你分組的依據,即selectcolumn應該全部跟在group by之後。這個也和mysql的版本有關係,mysql5.7版本預設設定了 mysql sql_mode = only_full_group_by 屬性。

-- 如何檢視mysql的版本?

show variables like 'version';

-- 檢視當前的sql_mode

show variables like 'sql_mode';

set sql_mode='strict_trans_tables,no_zero_in_date,no_zero_date,error_for_division_by_zero,no_auto_create_user,no_engine_substitution';

查詢的字段需要全部作為分組的依據,但是實際情況下我們很多情況都是只根據乙個欄位來做分組,而且還需要對分組的資料進行某種規則的排序,來篩選出一條資料,那麼可以通過如下sql來實現:

select * from table_a a inner join (select col_1,max(col_2) col_2 from table_a group by col_1) tem on a.col_2 = tem.col_2

mysql中group by 用法簡介

sql語句group by 用法簡介 經常很多情況下,我們用來做統計的資料表都是無比雜亂的,凡是每一條資料都是無厘頭的往裡插入,但是我們在按照分類或者分組來顯示統計資料的時候,這個時候就要用到神奇的group by,如下 基本語法 select 欄位1 sum 欄位2 from 名 group by...

關於mysql 的group by 的用法一

group by 有乙個原則 在select 後面跟的非聚合函式的字段,必須出現在group by 的後面,但是我在操作的過程中沒有新增所有的字段到 group by 的後面,並沒有報錯 經過測試後發現,沒有跟在group by 後面的字段選擇出來的資料時 錯誤的。idnameab 1aa231 2...

關於group by的用法

重新回顧並理解group by。首先設計一張表,表名為test 然後執行以下sql語句 select name from test group by name 獲得執行結果 可是為了能夠更好的理解 group by 多個列 和 聚合函式 的應用,我建議在思考的過程中,由表1到表2的過程中,增加乙個虛...