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

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

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

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

3 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

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

select town, count(town) from usergroup by town

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

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

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

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



查看完整回答
反对 回复 2019-08-03
?
婷婷同学_

TA贡献1844条经验 获得超8个赞

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

SELECT COUNT(DISTINCT town) FROM user


查看完整回答
反对 回复 2019-08-03
?
慕工程0101907

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

另一种方式是:

/* 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-08-03
  • 3 回答
  • 0 关注
  • 2503 浏览
慕课专栏
更多

添加回答

举报

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