mysql - 根据时间戳搜索相关行并添加行

标签 mysql sql database

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

根据时间戳添加也很重要。

我该怎么做。

最佳答案

SQLFiddle demo

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/

相关文章:

php - PHP 中的查询结果为空,但是当我从 PHPMyAdmin 运行 SQL 查询时,它可以工作

mysql - 是否可以在数据输入时创建由其他列值组成的散列并将其存储在一起?

mysql - SQL 查询 - 选择不同的类别和计数

php - 将变量传递给 JSON 数据的远程 PHP 文件

c# - 检查从 MySQL Data Reader 返回的行数

php - Laravel 5 Eloquent 不在数据库中存储特殊字符

sql - 使用 XML FOR 向 T-SQL 查询添加命名空间

php - 在 mysql 中获得更快记录搜索的最佳方法

php - 检索一个 id 数组?

database - 将图像存储在数据库或文件系统中