Mysql查询单表

Posted

技术标签:

【中文标题】Mysql查询单表【英文标题】:Mysql query on a single table 【发布时间】:2015-02-01 20:23:39 【问题描述】:

我有一个包含日期时间、类型、度量的事务表。我想产生日期,计数,计数,类型=12,measure>20。

不知道该怎么做。

要知道日期,数,输入我会写 select date(datetime), count from table where type=12 group by date(datetime)

只是不确定如何添加第 3 列(按度量计数>20)。

我曾想过尝试左自连接或相关子查询。

感谢任何建议。

表名称警报 Col1 Alert_time(日期时间) 第 2 列 Alert_type(整数) Col 3 度量(整数)

样本数据 2015/01/20 9:00|12|10 2015/01/20 8:00|12|30 2015/01/20 7:00|12|40 2015/01/21 5:00|13|30 2015/01/21 8:00|12|10

期望的输出 2015/01/20|3|2 2015/01/21|1|0

【问题讨论】:

请提供您的表结构和一些示例数据。 【参考方案1】:

您可以对case 表达式执行count 操作:

SELECT   DATE(datetime),
         COUNT(*), 
         COUNT(CASE WHEN measure > 20 THEN 1 ELSE NULL END)
FROM     mytable
WHERE    type = 12 
GROUP BY date(datetime)

【讨论】:

【参考方案2】:

你可以这样查询。

选择日期(日期时间), 数数(*), 计数(CASE WHEN measure > 20 THEN 1 ELSE 0 END) 来自我的表 WHERE 类型 = 12 按日期分组(日期时间)

【讨论】:

以上是关于Mysql查询单表的主要内容,如果未能解决你的问题,请参考以下文章

mysql 单表查询

MySQL之单表查询

MySQL之单表查询

MySQL单表查询

MySQL单表查询

MySQL之单表查询