你好,我有一张这样的 table
Activity Date
---------------------
0 2012-11-20
1 2012-11-20
1 2012-11-20
1 2012-11-21
1 2012-11-21
0 2012-11-22
我需要选择记录为
Day-wise total 0's 1's Date
------------------------------------------
3 1 2 2012-11-20
2 0 2 2012-11-21
1 1 0 2012-11-22
最佳答案
您需要的是一个GROUP BY date
、COUNT(Activity)
来获取每日总计和一个CASE
表达式来转换1 和 0 的值。我在这里使用了 SUM
但它的行为就像 COUNT
一样:
SELECT
COUNT(Activity) AS "Day-wise total",
SUM(CASE WHEN Activity = 0 THEN 1 ELSE 0 END) AS "0's",
SUM(CASE WHEN Activity = 1 THEN 1 ELSE 0 END) AS "1's",
`Date` AS "Date"
FROM Table
GROUP BY `Date`;
SQL Fiddle Demo
关于mysql - MySql 选择所需的指导,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13510354/