mysql 显示患者表中仅在列表中出现一次的唯一名字

6vl6ewon  于 2023-05-28  发布在  Mysql
关注(0)|答案(1)|浏览(158)

显示patients表中唯一的名字,该名字在列表中只出现一次。
例如,如果两个或多个人在first_name列中命名为“John”,则不要将他们的名字包含在输出列表中。如果只有一个人被命名为“Leo”,则将其包括在输出中。

SELECT  first_name
FROM patients
HAVING COUNT(first_name) = 1;
ORDER BY first_name asc
wooyq4lh

wooyq4lh1#

你就快成功了。您的查询需要一个group by子句,它定义了应该聚合在一起的记录组。在这里,显然你想group by first_name

SELECT first_name 
FROM patients 
GROUP BY first_name
HAVING COUNT(*) = 1
ORDER BY first_name

请注意,COUNT(*)在这里已经足够好了,因为它计算了属于每个组的记录数; COUNT(x)是一个稍微不同的东西,它计算了x存在多少个非null值。
还要注意,asc是默认的排序顺序,因此可以省略。

相关问题