mysql-关于distinct
一、关于distinct
DISTINCT 是对 SELECT 子句中所有列的组合去重,而非仅对某一列
比如 SELECT DISTINCT product_id, year, quantity, price → 只有当这 4 列的值完全相同时,才会被去重;
若只是 product_id, year 相同,但 quantity 或 price 不同,DISTINCT 不会过滤。
如下:
不加 DISTINCT 的结果(SELECT product_id, year, quantity, price)
| product_id | first_year | quantity | price |
|---|---|---|---|
| 1 | 2020 | 100 | 10 |
| 1 | 2020 | 100 | 10 |
| 1 | 2020 | 150 | 10 |
加 DISTINCT 的结果(SELECT distinct product_id, year, quantity, price,过滤了完全重复的行):
| product_id | first_year | quantity | price |
|---|---|---|---|
| 1 | 2020 | 100 | 10 |
| 1 | 2020 | 150 | 10 |
