📅  最后修改于: 2023-12-03 15:03:06.941000             🧑  作者: Mango
在 MySQL 中,查询一张表的唯一列可以使用 DISTINCT 或 GROUP BY 关键字。在本文中,我们将了解如何使用这些关键字来查询一张表的唯一列。
使用 DISTINCT 关键字可以过滤掉重复的行,从而查询出一张表的唯一列。以下是使用 DISTINCT 关键字查询唯一列的语法:
SELECT DISTINCT column_name(s) FROM table_name;
其中,SELECT DISTINCT
表示查询唯一列,column_name(s)
表示要查询的列名,可同时查询多个列,用逗号分隔,table_name
表示要查询的表名。
例如,对于如下的 employees
表:
| id | name | department | |----|------|------------| | 1 | Tom | HR | | 2 | Jane | Marketing | | 3 | Jim | HR | | 4 | Mary | Finance | | 5 | Bob | Marketing | | 6 | Sue | Finance |
要查询出 department
列的所有唯一值,可以使用以下 SQL 语句:
SELECT DISTINCT department FROM employees;
运行结果如下:
+------------+
| department |
+------------+
| HR |
| Marketing |
| Finance |
+------------+
使用 GROUP BY 关键字可以将行按组分成多个集合,再对每个集合进行聚合计算。对于一张表的唯一列,我们只需要将要查询的列名作为 GROUP BY 关键字的参数即可。以下是使用 GROUP BY 关键字查询唯一列的语法:
SELECT column_name(s) FROM table_name GROUP BY column_name(s);
其中,GROUP BY
表示按某列进行分组,column_name(s)
表示要分组的列名,可同时分组多个列,用逗号分隔,table_name
表示要查询的表名。
例如,要查询出 department
列的所有唯一值,可以使用以下 SQL 语句:
SELECT department FROM employees GROUP BY department;
运行结果与使用 DISTINCT 关键字相同。
使用 DISTINCT 或 GROUP BY 关键字都可以查询一张表的唯一列。其中,使用 DISTINCT 关键字比较简单直接,但对于大数据量的表可能效率较低;而使用 GROUP BY 关键字则稍微复杂一些,但对于时间和空间的效率控制更好。在实际使用时应根据具体情况选择适合的方式。