我有这样的桌子。
svcid hostid fieldname fieldval date_chk
1 9205 rawdata raw data 2018-07-27 05:14:47
1 9205 rawdata raw data 2018-07-27 05:14:57
1 9205 rawdata raw data 2018-07-27 05:20:24
1 9205 dummyoutput echo "you have running dummy.sh!" 2018-07-27 05:20:24
1 9205 rawdata raw data 2018-07-27 05:21:04
1 9205 dummyoutput echo "you have running dummy.sh!" 2018-07-27 05:21:04
我想变成这样
svcid hostid rawdata dummyoutput date_chk
1 9205 raw data null 2018-07-27 05:14:47
1 9205 raw data null 2018-07-27 05:14:57
1 9205 raw data echo "you have running dummy.sh!" 2018-07-27 05:20:24
1 9205 raw data echo "you have running dummy.sh!" 2018-07-27 05:21:24
为了将来的信息我已经在这里创建了一个SQL小提琴
谢谢!
你可以试试这个。 聚合函数条件
将
CASE WHEN
与 MAX
功能和 group by
一起使用
SELECT svcid,
hostid,
max(CASE WHEN fieldname = 'rawdata' THEN fieldval END),
max(CASE WHEN fieldname = 'dummyoutput' THEN fieldval END),
date_chk
FROM tb_service_out_monitor
GROUP BY svcid,
hostid,
date_chk