mysql - MySql 选择所需的指导

标签 mysql sql select

你好,我有一张这样的 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 dateCOUNT(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/

相关文章:

html - 多选选项垂直溢出

mysql - 排序结果以匹配 WHERE IN 表达式中值的顺序

java - Spring JdbcDao支持

mysql - 使用具有动态表名的 Mysql 示例

mysql - 从行中为每个外键选择最大数据

mysql - (MYSQL) 检查 ID 是否已存在的性能(例如在投票选民表中)

Mysql加入创建 View 命令

mysql - 按项目和周运行总计

sql - 如何获取/生成现有 Hive 表的创建语句?

sql - MySQL 连接两个表从第二个表计数和求和