使用以下sql语句,我可以获得所有唯一值及其给定列的计数:
select column, count(column) as count
from table group by column order by count desc;
Run Code Online (Sandbox Code Playgroud)
如何通过计数获得所有唯一的值对.例如,如果我有一个包含first_name和last_name列的表,我可能会发现类似这样的结果:
first_name | last_name | 计数
约翰| 史密斯| 42
约翰| 约翰逊| 39
大卫| 史密斯| 37
等等...
我可以在基本SQL中执行此操作吗?我通常使用MySQL,但我认为你提出的任何解决方案都应该可以翻译成任何数据库.
Rya*_*yan 19
你几乎把它弄错了......你只需添加一个额外的GROUP BY列,如下所示:
SELECT [first_name], [last_name], COUNT(*) AS [Count]
FROM [Table]
GROUP BY [first_name], [last_name]
ORDER BY [Count] DESC;
Run Code Online (Sandbox Code Playgroud)
ada*_*dam 14
如果你只想要计算多少个不同的对,你可以更简单地做到这一点.没有GROUP BY条款.
SELECT COUNT(DISTINCT first_name, last_name) AS count_names FROM Table
Run Code Online (Sandbox Code Playgroud)
在group by子句中使用多个列.
select first_name, last_name, count(*) as count from table group by first_name, last_name
Run Code Online (Sandbox Code Playgroud)