作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
date | userid | companyid
12.8.14 | 1 | 1
12.8.14 | 2 | 2
12.8.14 | 3 | 1
我有一张像上面这样的 table 。通过正常查询,很容易从表中统计出有多少家公司1
。
我的问题是:如果我的查询是select * from table where companyid = '1' group by date
,我怎样才能让公司的mysql_num_row
等于21
和 userid
是 1
和 3
?
select * from table where companyid = '1' group by date
只会返回我mysql_num_row
等于 1 且结果 12.8.14 | 1 | 1
最佳答案
您可以嵌套查询来获取第一家公司条目的总和,然后将该嵌套查询连接到外部查询:
SELECT ABB2.*, ABB1.mysql_num_row
FROM `table` AS ABB2
JOIN
(SELECT companyid, COUNT(userid) AS mysql_num_row
FROM `table`
GROUP BY companyid) AS ABB1 ON ABB1.companyid = ABB2.companyid
WHERE ABB2.companyid = 1;
关于MySQL如何从GROUP BY中计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25439456/
我是一名优秀的程序员,十分优秀!