Name Count Timestamp
'1FODC1IN', 5, '2013-11-19 12:20:00'
'1FODC2IN', 6, '2013-11-19 12:20:00'
'1FODC3IN', 42, '2013-11-19 12:20:00'
'1FODC4IN', 34, '2013-11-19 12:20:00'
'2FDCIN', 2, '2013-11-19 12:20:00'
'2FISIN', 3, '2013-11-19 12:20:00'
'2FODC1IN', 24, '2013-11-19 12:20:00'
'2FODC3IN', 4, '2013-11-19 12:20:00'
'2FODC4IN', 6, '2013-11-19 12:20:00'
'CMNZ', 35, '2013-11-19 12:20:00'
'GFAODCIN', 29, '2013-11-19 12:20:00'
'MAINZN1', 111, '2013-11-19 12:20:00'
'1FODC1IN', 5, '2013-11-20 11:50:13'
'1FODC2IN', 6, '2013-11-20 11:50:13'
'1FODC3IN', 45, '2013-11-20 11:50:13'
'1FODC4IN', 39, '2013-11-20 11:50:13'
'2FISIN', 2, '2013-11-20 11:50:13'
'2FODC1IN', 20, '2013-11-20 11:50:13'
'2FODC3IN', 10, '2013-11-20 11:50:13'
'2FODC4IN', 7, '2013-11-20 11:50:13'
'CMNZ', 39, '2013-11-20 11:50:13'
'GFAODCIN', 23, '2013-11-20 11:50:13'
'MAINZN1', 131, '2013-11-20 11:50:13'
这种数据每 15 分钟记录一次。
我的要求是找到名称中的“IN”字,然后将所有一起出现的 1F%IN、类似地一起出现的 2F%IN、一起出现的 GF%IN 加起来等等。
需要输出为
Name count timestamp
first 87 2013-11-19 12:20:00
Second 39 2013-11-19 12:20:00
ground 29 2013-11-19 12:20:00
first 87 2013-11-20 11:50:13
Second 39 2013-11-20 11:50:13
ground 29 2013-11-20 11:50:13
根据时间戳添加也很重要。
我该怎么做。
最佳答案
SELECT GName,
SUM(`Count`),
`Timestamp`
FROM
(
select
CASE WHEN Name LIKE '1F%IN' THEN 'first'
WHEN Name LIKE '2F%IN' THEN 'second'
WHEN Name LIKE 'GF%IN' THEN 'ground'
ELSE 'Unknown'
END as GName,
`Count`,
`Timestamp`
FROM T
WHERE Name LIKE '%IN'
) T1
Group by GName,`Timestamp`
order by `Timestamp`,GName
关于mysql - 根据时间戳搜索相关行并添加行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20089272/