我要按日期显示数据,并按用户ID显示数据。
第一个显示存储在数据库中的数据,第二个表显示我希望如何在前端显示数据。
-这是数据库中的表:-
UserID Date Working Hrs
1 2021-08-01 10
2 2021-08-01 1
3 2021-08-01 15
1 2021-08-02 11
2 2021-08-02 11
3 2021-08-02 16
1 2021-08-03 9
2 2021-08-03 10
3 2021-08-03 11
这是我想要从db表创建的表:-
UserID 2021-08-01 2021-08-02 2021-08-03
1 10 11 9
2 1 11 10
3 15 16 11
发布于 2021-09-15 08:03:50
如果您的列是静态的,则可以使用条件聚合。否则使用枢轴或动态。
-- MySQL(v5.8)
SELECT userid
, MAX(CASE WHEN tdate = '2021-08-01' THEN working_hours END) "2021-08-01"
, MAX(CASE WHEN tdate = '2021-08-02' THEN working_hours END) "2021-08-02"
, MAX(CASE WHEN tdate = '2021-08-03' THEN working_hours END) "2021-08-03"
FROM test
GROUP BY userid请从url https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=d364ddf6f942a54beddb2ba719d1932f查询
https://stackoverflow.com/questions/69188694
复制相似问题