MySQL是世界上最流行的開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它支持多種語言和平臺,擁有強(qiáng)大的性能和可擴(kuò)展性。
在MySQL中,我們經(jīng)常需要從表中取出一組信息,但是只需要每組信息的一個(gè)代表。這時(shí)候,我們可以使用GROUP BY語句。
例如,我們有一個(gè)名為students的表,其中包含了每個(gè)學(xué)生的姓名、學(xué)號、課程和成績。
CREATE TABLE students( name VARCHAR(20), student_id INT, course VARCHAR(20), score INT ); INSERT INTO students(name, student_id, course, score)VALUES ('張三', 2018001, '語文', 90), ('張三', 2018001, '數(shù)學(xué)', 85), ('李四', 2018002, '語文', 95), ('李四', 2018002, '數(shù)學(xué)', 80), ('王五', 2018003, '語文', 98), ('王五', 2018003, '數(shù)學(xué)', 90);
現(xiàn)在我們要從這個(gè)表中獲取每個(gè)學(xué)生的最高分?jǐn)?shù)。
SELECT name, MAX(score) AS max_score FROM students GROUP BY name;
運(yùn)行以上代碼后,我們可以得到以下結(jié)果:
name max_score 張三 90 李四 95 王五 98
這里,我們使用GROUP BY語句將結(jié)果按照姓名分組,然后使用MAX函數(shù)獲取每組中的最高分?jǐn)?shù)。
總之,GROUP BY語句是MySQL中一個(gè)強(qiáng)大的功能,能夠幫助我們從表中取出每組信息的代表,為數(shù)據(jù)分析和處理提供方便。