欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql分組取最大值求和

錢琪琛2年前9瀏覽0評論

MySQL是一種關系型數據庫管理系統,它可以幫助用戶存儲和管理大量的數據。在MySQL中,有時候需要對數據進行分組、取最大值和求和等操作。下面介紹如何使用MySQL實現分組取最大值求和。

-- 創建一個測試表
CREATE TABLE test (
id INT AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(20) NOT NULL,
score INT NOT NULL,
class VARCHAR(20) NOT NULL
);
-- 插入一些測試數據
INSERT INTO test (name, score, class) VALUES ('張三', 85, '數學班');
INSERT INTO test (name, score, class) VALUES ('李四', 92, '數學班');
INSERT INTO test (name, score, class) VALUES ('王五', 88, '英語班');
INSERT INTO test (name, score, class) VALUES ('趙六', 75, '英語班');
INSERT INTO test (name, score, class) VALUES ('錢七', 90, '語文班');
INSERT INTO test (name, score, class) VALUES ('孫八', 85, '語文班');
-- 分組取最大值并求和
SELECT class, SUM(max_score) AS total_score
FROM (
SELECT class, MAX(score) AS max_score
FROM test
GROUP BY class
) AS tmp
GROUP BY class
ORDER BY total_score DESC;

以上代碼首先創建了一個測試表test,并插入了一些測試數據。然后,使用子查詢從test表中分組取每個班級最大的成績,并求和這些最大成績,最后按總成績降序排列。

其中,子查詢的代碼如下:

SELECT class, MAX(score) AS max_score
FROM test
GROUP BY class

它從test表中分組取每個班級的成績,并計算每個班級的最大成績。得到的結果如下:

class    max_score
數學班   92
英語班   88
語文班   90

最后,使用SELECT語句對上述結果進行求和,并按照班級的總成績排序,得到以下結果:

class    total_score
數學班   177
語文班   175
英語班   88

以上就是MySQL分組取最大值求和的操作方法。希望本文能對大家有所幫助。