假设我们有一张桌子:
╔═════════════════════════════════════╗
║ Name Date Value ║
╠═════════════════════════════════════╣
║ John 2013-01-01 10:20:00 10 ║
║ John 2013-01-01 12:20:11 20 ║
║ Mark 2013-01-01 11:44:10 10 ║
║ Mark 2013-01-02 12:00:00 20 ║
║ Mark 2013-01-03 15:20:00 20 ║
║ Tim 2013-01-01 15:11:12 5 ║
║ Tim 2013-01-03 18:44:44 10 ║
║ Tim 2013-01-03 20:11:00 15 ║
╚═════════════════════════════════════╝
并使用单个SELECT
查询,输出:
╔════════════════════════════════════════════════╗
║ Name 2013-01-01 2013-01-02 2013-01-03 ║
╠════════════════════════════════════════════════╣
║ John 30 0 0 ║
║ Mark 10 20 20 ║
║ Tim 5 0 25 ║
╚════════════════════════════════════════════════╝
- 3 天是固定的(2013-01-01、2013-01-02、2013-01-02)。
你如何做到这一点SELECT
?我试过SUM(DISTINCT)
但没有成功。我无法弄清楚其中的逻辑。
它必须GROUP BY Name
只是(我认为),但我将如何计算SUM()
by 间隔?