加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

我们应该如何计算SQL中不同对/元组的数量?

发布时间:2020-12-12 08:52:17 所属栏目:MsSql教程 来源:网络整理
导读:假设架构是这样的: First Name | Last Name | Age | ID====================================John Smith 18 123John Smith 21 234John Smith 19 123Cathy Zhang 20 144Cathy Zhang 20 144Jackie Chan 35 456 假设我想计算每个(名字,姓氏)之后的不同对的数量.
假设架构是这样的:
First Name | Last Name | Age | ID
====================================
John         Smith       18    123
John         Smith       21    234
John         Smith       19    123
Cathy        Zhang       20    144
Cathy        Zhang       20    144
Jackie       Chan        35    456

假设我想计算每个(名字,姓氏)之后的不同对的数量.所以输出应该是:

John         Smith       3
Cathy        Zhang       1
Jackie       Chan        1

我想我可以先做:

SELECT FirstName,LastName,Age,ID,COUNT(*);

然后

SELECT FirstName,COUNT(*)

有更好的方法吗?

解决方法

要返回每个不同的firstname lastname的计数,您将使用COUNT和GROUP BY:
SELECT FirstName,COUNT(*)
FROM TableName
GROUP BY FirstName,LastName

在上面的例子中,我认为你的意思是张的计数为2.

– 编辑

如果我正确理解您的最新评论,您还想使用DISTINCT:

SELECT FirstName,Id,COUNT(*)
FROM (SELECT DISTINCT FirstName,Id FROM TableName) T
GROUP BY FirstName,Id

祝好运.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读