我在我的SQL查询中使用SUM()和COUNT()寻求帮助:MySQL:Sum()和Count在一个查询中?
select s1_s2,count(s1_s2) as RES
from city_user
where s1_s2 in (select s1_s2 from city_user)
group by s1_s2
我想使之和()的RES列
是那可能吗?
我在我的SQL查询中使用SUM()和COUNT()寻求帮助:MySQL:Sum()和Count在一个查询中?
select s1_s2,count(s1_s2) as RES
from city_user
where s1_s2 in (select s1_s2 from city_user)
group by s1_s2
我想使之和()的RES列
是那可能吗?
感谢您的回答
这就是我想要的东西:
看看这个图:result
此查询工作正常,我:
select s1_s2,
count(s1_s2) as res,
(select sum(res) as sum from (
select s1_s2, count(s1_s2) as res from city_user group by s1_s2) city_user) as Sum_RES from city_user group by s1_s2
也许你可以使用一个外部查询类似下面,再次你WHERE
条件是没有意义的为您IN
条款需要从同一个表s1_s2
列的所有值,这将永远是真正的
select *, SUM(RES) as SUM_RES
FROM (
select s1_s2,
count(s1_s2) as RES
from city_user
group by s1_s2) xxx
你的查询就没有什么感。 where s1_s2 in (select s1_s2 from city_user)
只是写作where s1_s2 is not null
的一种复杂且效率低下的方式。
的RES
列的总和基本上是所有行的计数在city_user
,或在city_user
至少那些行s1_s2
不为空。对于需要在未来,包括你自己读您的查询的群众着想,让两个查询:
select s1_s2,count(s1_s2) as RES
from city_user
where s1_s2 is not null
group by s1_s2
和
select count(*)
from city_user
where s1_s2 is not null
要选择计个人s1_s2的值以下查询可以帮助
select s1_s2, count(s1_s2) as res
from city_user
group by s1_s2;
为了获得资源列总和以下查询可以帮助
select sum(res) as sum
from
(select s1_s2, count(s1_s2) as res
from city_user
group by s1_s1)
city_user;
这是一样的
select count(s1_s2) as count
from city_user;
原因:这是因为你是基于s1_s2试图组列,并获得其计数并将其存储为Res
列和计算其总和与表中s1_s2的行数相同。
你认为究竟是如何文本项“01-02”可以总结? – Sumurai8
@ Sumurai8,OP说*我想为RES列做出sum()* – Rahul
这对我来说没有意义。除非OP只想计算数据库中有多少行。这只是'SELECT COUNT(*)FROM city_user;'。 – Sumurai8