在SQL查询中,COUNT
和 DISTINCT
是两个常用的聚合函数,它们可以组合使用来获取唯一值的数量。COUNT(DISTINCT column_name)
用于返回指定列中不同值的数量。
COUNT(DISTINCT column_name)
可以得到某一列中不同值的精确数量,这在数据分析和报表生成中非常有用。SELECT COUNT(*) FROM table_name;
SELECT COUNT(DISTINCT column_name) FROM table_name;
假设你有一个用户表,你想知道有多少不同的城市用户居住在:
SELECT COUNT(DISTINCT city) AS unique_cities FROM users;
COUNT(DISTINCT column_name)
的执行速度慢?DISTINCT
计算的列有适当的索引。COUNT(DISTINCT column_name)
返回的结果不正确。DISTINCT
计算之前排除空值,例如使用 WHERE column_name IS NOT NULL
。假设我们有一个名为 orders
的表,其中包含 customer_id
和 product_id
字段,我们想找出有多少不同的客户下了订单:
SELECT COUNT(DISTINCT customer_id) AS unique_customers FROM orders;
通过上述信息,你应该能够理解 COUNT
和 DISTINCT
在 SQL 查询中的使用,以及如何解决可能遇到的问题。
领取专属 10元无门槛券
手把手带您无忧上云