繁体   English   中英

获取mysql中的总计数和组计数

[英]Get total count as well as group count in mysql

小提琴的例子

我很想知道是否有其他选项可以在一个查询中获得总计数和组计数。

使用子查询获取此结果的首选方法:

TOTAL   OPTIONS OPTION_COUNT
4       A       3
4       B       1

表格架构:

CREATE TABLE poll
    (`poll_id` int,`user_id` int,`options` varchar(30))
;

INSERT INTO poll
    (`poll_id`,`user_id`,`options`)
VALUES
    (1,1,'A'),
    (2,2,'A'),
    (3,3,'B'),
    (4,4,'A')
;

查询:

SELECT (SELECT Count(*) AS total FROM poll)AS total
,options,option_count
FROM 
(
  SELECT options,Count(options) AS option_count
  FROM poll
  GROUP BY options
)p
GROUP BY options

有一种方法可以使用group by rollup来完成它

http://dev.mysql.com/doc/refman/5.0/en/group-by-modifiers.html

SELECT options,Count(options) AS option_count
FROM poll
GROUP BY options
WITH ROLLUP

没有子查询就不可能,但是可以用不同的,更简单的方式编写:

从轮询GROUP BY选项中选择选项,计数(选项),(SELECT Count(*)FROM poll);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM