gpt4 book ai didi

mysql - 在 mysql 结果中包含空行

转载 作者:行者123 更新时间:2023-11-29 06:32:43 26 4
gpt4 key购买 nike

我有一个简单的,包含时间戳t类型和c计数

timestamp |t|c
==============
1415024797|1|1
1415025774|1|1
1415202785|1|1
1415204559|1|1
1415204593|1|2
1415629057|1|1
1415791322|2|1
1415797887|1|1

现在我得到一个结果,它按 t 和特定日期 YYYY-MM-DDc 列分组进行计数

>

我必须将 3600 添加到时间戳以遵守时区偏移!

SELECT From_unixtime(a.timestamp + 3600, '%Y-%m-%d')        AS date, 
Count(From_unixtime(a.timestamp + 3600, '%Y-%m-%d')) AS count,
a.t AS type
FROM table AS a
WHERE a.timestamp >= 1415322000 AND a.timestamp < 1415926800
GROUP BY From_unixtime(a.timestamp + 3600, '%Y-%m-%d'),
a.t
ORDER BY a.timestamp DESC

通过这个查询我得到类似的东西

date       |count | type
==========================
2014-12-03 | 3 | 1
2014-12-03 | 1 | 2
2014-12-04 | 3 | 1
2014-12-05 | 3 | 3
2014-12-07 | 4 | 2
2014-12-07 | 7 | 3
....

但是我想得到

date       | t_1 | t_2 | t_3
=============================
2014-12-03 | 3 | 1 | 0
2014-12-04 | 3 | 0 | 0
2014-12-05 | 0 | 0 | 3
2014-12-06 | 0 | 0 | 0
2014-12-07 | 0 | 4 | 7
....

所以在每一行上都有一个日期,其中包含特定类型的所有计数。

  • 只有 3 种可能的类型 (1 => t_1, 2 => t_2, 3 => t_3)
  • 还应包括值为 0 的日期 (2014-12-06)
  • 我将使用 PHP (foreach) 构建查询

最佳答案

SELECT From_unixtime(a.timestamp + 3600, '%Y-%m-%d')        AS date,
CASE 
WHEN type = 1 
THEN count 
ELSE 
NULL 
END AS t_1,
CASE 
WHEN type = 2 
THEN count ELSE NULL END AS t_2,
CASE 
WHEN type = 3 
THEN count ELSE NULL END AS t_3
FROM...

(?)

关于mysql - 在 mysql 结果中包含空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26934401/

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