Sử dụng GROUP BY kết hợp HAVING để lọc sau khi tổng hợp.
Tạo bảng demo84:
mysql> CREATE TABLE demo84 (
-> id INT,
-> price INT
-> );
Chèn dữ liệu:
mysql> INSERT INTO demo84 VALUES(1,2000);
mysql> INSERT INTO demo84 VALUES(1,2000);
mysql> INSERT INTO demo84 VALUES(2,1800);
mysql> INSERT INTO demo84 VALUES(2,2200);
mysql> INSERT INTO demo84 VALUES(3,1700);
Hiển thị dữ liệu:
mysql> SELECT * FROM demo84;
+------+-------+
| id | price |
+------+-------+
| 1 | 2000 |
| 1 | 2000 |
| 2 | 1800 |
| 2 | 2200 |
| 3 | 1700 |
+------+-------+
Truy vấn tổng price theo id và chỉ giữ các nhóm có tổng >= 2000:
mysql> SELECT id, SUM(price) AS Total
-> FROM demo84
-> GROUP BY id
-> HAVING SUM(price) >= 2000;
Kết quả:
+------+-------+
| id | Total |
+------+-------+
| 1 | 4000 |
| 2 | 4000 |
+------+-------+