Mic*_*ter 4 mysql sql database charts
我的数据如下所示:http://sqlfiddle.com/#!2/1266b2/1
但我希望它看起来像:
+------------+------+---+
| 2015-01-01 | walk | 1 |
| 2015-01-01 | run | 0 |
| 2015-01-01 | bike | 0 |
| 2015-01-02 | walk | 0 |
| 2015-01-02 | run | 0 |
| 2015-01-02 | bike | 0 |
| 2015-01-03 | walk | 0 |
| 2015-01-03 | run | 1 |
| 2015-01-03 | bike | 0 |
| 2015-01-04 | walk | 0 |
| 2015-01-04 | run | 0 |
| 2015-01-04 | bike | 0 |
| 2015-01-05 | walk | 0 |
| 2015-01-05 | run | 1 |
| 2015-01-05 | bike | 0 |
+------------+------+---+
Run Code Online (Sandbox Code Playgroud)
每天应该收集每个事件响应发生的次数.
想出这个将是一个很大的帮助.至少提供更好的标题(搜索条件)的提示,以便我可以弄清楚如何解决这个问题.
这是为了处理activezoo.com上的图表.对于分析数据的其他方法或方法的任何建议都是非常受欢迎的.
听起来您想要每个日期/事件组合,并且您想要计算事件响应数.如果是这样,在表和表cross join之间使用a 来获取每个组合,然后到表中并计算该表中的列,这样您只计算匹配.calendareventleft joinevent_responses
SELECT calendar.date AS date, events.name AS event, COUNT(event_responses.date) AS count
FROM events
CROSS JOIN calendar
LEFT JOIN event_responses ON event_responses.event_id = events.id
AND event_responses.date = calendar.date
GROUP BY calendar.date, event
ORDER BY calendar.date, event
Run Code Online (Sandbox Code Playgroud)
http://sqlfiddle.com/#!2/d2560/1
| 归档时间: |
|
| 查看次数: |
41 次 |
| 最近记录: |