如何用SQL统计同一用户名下的所有账户数量?
按用户名统计账户总数的正确SQL写法
你的问题出在GROUP BY的分组字段错误——你用了column1和column2分组,这会把这两个字段组合相同的行归为一组,而不是按用户name分组,自然得不到每个用户的账户总数。
正确的SQL语句应该是:
SELECT name, COUNT(*) AS 账户总数 FROM mytable GROUP BY name;
如果你的表中存在同一用户名下重复的账户记录,需要统计唯一账户数量的话,可以用:
SELECT name, COUNT(DISTINCT 账户字段名) AS 唯一账户总数 FROM mytable GROUP BY name;
(把上面的账户字段名替换成你表中实际存储账户信息的列名,比如account_id之类的)
这个语句会按name字段对所有行分组,统计每个分组内的记录数,也就是对应用户的账户总数。
内容的提问来源于stack exchange,提问作者Maha Mohammed
相关产品推荐
相关产品推荐

