如何从列中获取唯一名称

时间:2017-07-23 12:06:41

标签: mysql sql aggregate-functions

我只需要从城市中获取唯一的名字:

table: cities

+----+--------+
| id |  name  |
+----+--------+
|  1 |  Rawal |
+----+--------+
|  2 |  Nina  |
+----+--------+
|  3 |  Monte |
+----+--------+
|  4 |  Nina  |
+----+--------+
|  5 | Samina |
+----+--------+

我只需要获得唯一的名称,例如拉瓦尔,蒙特和萨米娜。

SELECT DISTINCT name FROM cities

也提供了我不需要的Nina

3 个答案:

答案 0 :(得分:5)

您想要出现一次的名称。考虑GROUP BYHAVING

select name
from cities
group by name
having count(*) = 1;

答案 1 :(得分:0)

{{1}}

答案 2 :(得分:0)

使用TRIM删除列中数据两侧的空格,然后使用UPPER确保数据DISTINCT不区分大小写。

NOTE:您也可以使用LOWER代替UPPER进行不区分大小写的比较

SELECT DISTINCT UPPER(TRIM(name)) FROM cities;