MySQL是一種流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它提供了豐富的查詢功能,其中包括分組查詢。在MySQL中,我們可以使用GROUP BY子句將數(shù)據(jù)按指定字段進(jìn)行分組。而在分組查詢中,有一種常見的需求是取每個分組中的最小值,下面來介紹如何實現(xiàn)。
假設(shè)我們有一張名為students的表,其中包含了學(xué)生的姓名和對應(yīng)的年齡,如下所示:
CREATE TABLE students ( name varchar(20), age int ); INSERT INTO students VALUES ('Alice', 18), ('Bob', 21), ('Charlie', 19), ('David', 20), ('Eve', 22), ('Frank', 19);
現(xiàn)在我們想要按年齡分組,取出每個分組中年齡最小的學(xué)生姓名,并按年齡從小到大排序,可以使用如下的SQL語句:
SELECT name, MIN(age) AS min_age FROM students GROUP BY age ORDER BY min_age ASC;
在上面的語句中,我們使用了MIN函數(shù)來獲取每個分組中的最小年齡,并將其別名為min_age。同時,我們也需要在查詢中包含學(xué)生的姓名,這樣才能知道每個最小年齡對應(yīng)的學(xué)生姓名是誰。最后,我們按照最小年齡從小到大進(jìn)行排序,以便更好地查看結(jié)果。
執(zhí)行以上SQL語句,將得到以下的結(jié)果:
+--------+---------+ | name | min_age | +--------+---------+ | Alice | 18 | | Charlie| 19 | | Bob | 21 | | David | 20 | | Eve | 22 | +--------+---------+
可以看到,我們成功地按年齡分組取出了每個分組中年齡最小的學(xué)生姓名,并且按年齡進(jìn)行了排序。
以上就是關(guān)于MySQL中分組取最小值的介紹,希望對讀者有所幫助。