为了账号安全,请及时绑定邮箱和手机立即绑定

如何在同一SELECT语句中使用COUNT和GROUP BY

如何在同一SELECT语句中使用COUNT和GROUP BY

犯罪嫌疑人X 2019-07-19 18:52:49
如何在同一SELECT语句中使用COUNT和GROUP BY我有一个SQL SELECT查询,其中有一个组BY。我想通过陈述来统计组后的所有记录。是否有一种直接从SQL进行此操作的方法?例如,有一个具有用户的表,我希望选择不同的城镇和共计用户数select town, count(*) from usergroup by town我希望有一个列包含所有城镇,另一个列有所有行的用户数。共有3个城镇和58个用户的结果如下:Town         CountCopenhagen   58NewYork      58Athens       58
查看完整描述

3 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

这将做您想做的事情(城镇列表,每个城镇的用户数):

select town, count(town) from usergroup by town

你可以用最多的聚合函数使用时GROUP BY.

更新(在对问题和评论进行修改后)

您可以为用户数声明一个变量,并将其设置为用户数,然后使用该变量进行选择。

DECLARE @numOfUsers INTSET @numOfUsers = SELECT COUNT(*) FROM userSELECT DISTINCT town, @numOfUsersFROM user


查看完整回答
反对 回复 2019-07-19
?
慕雪6442864

TA贡献1812条经验 获得超5个赞

你可以用COUNT(DISTINCT ...) :

SELECT COUNT(DISTINCT town) FROM user


查看完整回答
反对 回复 2019-07-19
?
莫回无

TA贡献1865条经验 获得超7个赞

另一种方式是:

/* Number of rows in a derived table called d1. */select count(*) from(
  /* Number of times each town appears in user. */
  select town, count(*)
  from user
  group by town) d1


查看完整回答
反对 回复 2019-07-19
  • 3 回答
  • 0 关注
  • 972 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信