gpt4 book ai didi

mysql - 如何对不熟悉的行进行分组?

转载 作者:可可西里 更新时间:2023-11-01 07:30:26 27 4
gpt4 key购买 nike

我的数据如下所示: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 |
+------------+------+---+

每天应该收集每个事件响应发生了多少次。

  • 日期是从日历表中收集的,因此是纯静态的。
  • 事件名称很多而且可能会更改。
  • 事件响应加入名称和其他上下文规则的事件。

这对解决这个问题有很大帮助。至少提供更好的标题(搜索词)的提示,这样我就可以弄清楚如何解决这个问题。

这用于在 activezoo.com 处处理图表.非常欢迎任何关于其他数据分析方法的建议。

最佳答案

听起来您想要每个日期/事件组合,并且想要计算事件响应的数量。如果是这样,请在 calendarevent 表之间使用 cross join 来获取每个组合,然后 left 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

http://sqlfiddle.com/#!2/d2560/1

关于mysql - 如何对不熟悉的行进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31757243/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com