我在mariadb中有一个名为“incidents”的表,其中包含以下数据
+-----+----------+---------------------+
| ID | status | created_at |
+-----+----------+---------------------+
| 1 | open | 2018-07-03 16:15:24 |
| 2 | open | 2018-07-03 16:15:24 |
| 3 | open | 2018-07-05 16:15:24 |
| 4 | open | 2018-07-08 16:15:24 |
| 5 | closed | 2018-07-15 16:15:24 |
+-----+----------+---------------------+
我想用一个参数计算一个月内每天的所有“打开”状态,以选择要获取的月份和年份。
例如,我的月份值为“07”,年份值为“2018”。它应该返回:
+-------+------------+
| count | date |
+-------+------------+
| 0 | 2018-07-01 |
| 0 | 2018-07-02 |
| 2 | 2018-07-03 |
| 0 | 2018-07-04 |
| 1 | 2018-07-05 |
| 0 | 2018-07-06 |
| 0 | 2018-07-07 |
| 1 | 2018-07-08 |
and so on up to July 31(should also be dynamic depending on month and year)
+-------+------------+
3条答案
按热度按时间cpjpxq1n1#
使用下面的代码来实现您的结果集。
声明两个变量:
var_from_date=每月第一天的日期。var_daydiff=月天数
ghhkc1vu2#
下面的方法,您可以生成日期根据您的要求,我已经给
where gen_date between '2018-07-01' and '2018-12-31'
你必须用你的约会条件和地点case when
以及aggregate
功能ymzxtsji3#
尝试以下查询: