求一个sql语句,高手麻烦进来看看

wusongping 2017-03-25 02:14:02
数据库每分钟记录一条数据,一个小时60分钟共有60条数据,数据中有一个字段记录数量num,每分钟这个num值不同

我想实现的是,统计每天24小时中 每一个小时的最高num,同时结果里面还有记录时间这个值

表结构如下

id num retime
1 2 2017-03-01 00:15:00
2 5 2017-03-01 00:16:03
3 8 2017-03-01 00:17:08
4 9 2017-03-01 00:18:15
等等
720 20 2017-03-01 23:59:04

需要得到结果是
num retime
每个小时中60条记录的最大num 每个小时中num出现最大值的时间,精确到秒
...全文
506 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
二月十六 2017-03-28
  • 打赏
  • 举报
回复
#T是测试数据的临时表。。。换成表名
二月十六 2017-03-28
  • 打赏
  • 举报
回复
引用 20 楼 wusongping 的回复:
[quote=引用 19 楼 sinat_28984567 的回复:] #T是测试数据的临时表。。。换成表名
好的,感谢指点。 经过测试好像是对的但是就是取出来的记录 如果我做统计 就有点麻烦 结帖 我怎么追加分啊 感觉给你100分 不够 我想给200[/quote] 我也不知道怎么追加分,但是你可以给我最后这个回复100,用手机回复的,双倍分数
wusongping 2017-03-28
  • 打赏
  • 举报
回复
引用 19 楼 sinat_28984567 的回复:
#T是测试数据的临时表。。。换成表名
好的,感谢指点。 经过测试好像是对的但是就是取出来的记录 如果我做统计 就有点麻烦 结帖 我怎么追加分啊 感觉给你100分 不够 我想给200
wusongping 2017-03-27
  • 打赏
  • 举报
回复
引用 17 楼 sinat_28984567 的回复:
[quote=引用 16 楼 wusongping 的回复:] [quote=引用 14 楼 sinat_28984567 的回复:] mysql这个测试数据不好生成,所以我用mssql写了一个,大概差不多,就是时间转换那里有点不一样。然后数据是上边你给的200条数据。一共9个roomid ,然后两个小时的时间段13、14点,所以最后出来18条记录。可能结果顺序和你预期的不太一样,可以再调。看看是这意思不

SELECT roomid,num,MIN(time) AS time FROM (
SELECT  #T.roomid ,
        #T.num ,
        #T.time
FROM    #T
        JOIN ( SELECT   CONVERT(NVARCHAR(13), [time]) AS [time] ,
                        roomid ,
                        MAX(num) AS num
               FROM     #T
               GROUP BY CONVERT(NVARCHAR(13), [time]) ,
                        roomid
             ) t ON #T.num = t.num
                    AND CONVERT(NVARCHAR(13), #T.[time]) = t.time
                    AND #T.roomid = t.roomid)t
					GROUP BY roomid,num
					ORDER BY roomid,time
膜拜大牛,是这个意思。 后面改成mysql的 就行了[/quote] 我上边mysql的就是这么写的,不过没有测试数据,mysql下测试数据不好弄,所以你说有点问题,我就用mssql写了点测试数据,然后执行了一下,就是时间转换那里不一样,剩下的语句都一样[/quote] mysql的是 SELECT room_id,online,MIN(record_time) FROM( SELECT #T.room_id,#T.online,#T.record_time from #T join (SELECT DATE_FORMAT( `record_time` , '%Y-%m-%d %H') as record_time,room_id,MAX(online) as online FROM #T GROUP BY DATE_FORMAT( `record_time` , '%Y-%m-%d %H'),room_id )t on #T.`online` = t.`online` and DATE_FORMAT( #T.record_time , '%Y-%m-%d %H')=t.record_time and #T.room_id = t.room_id)t GROUP BY room_id,online ORDER BY room_id,record_time 这样么?运行报错 # 这个不是这么用么?
二月十六 2017-03-27
  • 打赏
  • 举报
回复
mysql这个测试数据不好生成,所以我用mssql写了一个,大概差不多,就是时间转换那里有点不一样。然后数据是上边你给的200条数据。一共9个roomid ,然后两个小时的时间段13、14点,所以最后出来18条记录。可能结果顺序和你预期的不太一样,可以再调。看看是这意思不

SELECT roomid,num,MIN(time) AS time FROM (
SELECT  #T.roomid ,
        #T.num ,
        #T.time
FROM    #T
        JOIN ( SELECT   CONVERT(NVARCHAR(13), [time]) AS [time] ,
                        roomid ,
                        MAX(num) AS num
               FROM     #T
               GROUP BY CONVERT(NVARCHAR(13), [time]) ,
                        roomid
             ) t ON #T.num = t.num
                    AND CONVERT(NVARCHAR(13), #T.[time]) = t.time
                    AND #T.roomid = t.roomid)t
					GROUP BY roomid,num
					ORDER BY roomid,time
二月十六 2017-03-27
  • 打赏
  • 举报
回复
引用 16 楼 wusongping 的回复:
[quote=引用 14 楼 sinat_28984567 的回复:] mysql这个测试数据不好生成,所以我用mssql写了一个,大概差不多,就是时间转换那里有点不一样。然后数据是上边你给的200条数据。一共9个roomid ,然后两个小时的时间段13、14点,所以最后出来18条记录。可能结果顺序和你预期的不太一样,可以再调。看看是这意思不

SELECT roomid,num,MIN(time) AS time FROM (
SELECT  #T.roomid ,
        #T.num ,
        #T.time
FROM    #T
        JOIN ( SELECT   CONVERT(NVARCHAR(13), [time]) AS [time] ,
                        roomid ,
                        MAX(num) AS num
               FROM     #T
               GROUP BY CONVERT(NVARCHAR(13), [time]) ,
                        roomid
             ) t ON #T.num = t.num
                    AND CONVERT(NVARCHAR(13), #T.[time]) = t.time
                    AND #T.roomid = t.roomid)t
					GROUP BY roomid,num
					ORDER BY roomid,time
膜拜大牛,是这个意思。 后面改成mysql的 就行了[/quote] 我上边mysql的就是这么写的,不过没有测试数据,mysql下测试数据不好弄,所以你说有点问题,我就用mssql写了点测试数据,然后执行了一下,就是时间转换那里不一样,剩下的语句都一样
wusongping 2017-03-27
  • 打赏
  • 举报
回复
引用 14 楼 sinat_28984567 的回复:
mysql这个测试数据不好生成,所以我用mssql写了一个,大概差不多,就是时间转换那里有点不一样。然后数据是上边你给的200条数据。一共9个roomid ,然后两个小时的时间段13、14点,所以最后出来18条记录。可能结果顺序和你预期的不太一样,可以再调。看看是这意思不

SELECT roomid,num,MIN(time) AS time FROM (
SELECT  #T.roomid ,
        #T.num ,
        #T.time
FROM    #T
        JOIN ( SELECT   CONVERT(NVARCHAR(13), [time]) AS [time] ,
                        roomid ,
                        MAX(num) AS num
               FROM     #T
               GROUP BY CONVERT(NVARCHAR(13), [time]) ,
                        roomid
             ) t ON #T.num = t.num
                    AND CONVERT(NVARCHAR(13), #T.[time]) = t.time
                    AND #T.roomid = t.roomid)t
					GROUP BY roomid,num
					ORDER BY roomid,time
膜拜大牛,是这个意思。 后面改成mysql的 就行了
ACMAIN_CHM 2017-03-27
  • 打赏
  • 举报
回复
及原因</Twords> <Twords title="分组取最大N">参考下贴中的多种方法 http://blog.csdn.net/acmain_chm/article/details/4126306 [征集]分组取最大N条记录方法征集,及散分...
wusongping 2017-03-26
  • 打赏
  • 举报
回复
引用 12 楼 sinat_28984567 的回复:

SELECT t.room_id,t.online,MIN(t.record_time) FROM(
SELECT tbl_user_online.room_id,tbl_user_online.online,tbl_user_online.record_time from tbl_user_online join 
(SELECT DATE_FORMAT( `record_time` , '%Y-%m-%d %H') as record_time,room_id,MAX(online) as online
 FROM tbl_user_online  GROUP BY DATE_FORMAT( `record_time` , '%Y-%m-%d %H'),room_id
)t
on tbl_user_online.`online` = t.`online`  and DATE_FORMAT( tbl_user_online.record_time , '%Y-%m-%d %H')=t.record_time and tbl_user_online.room_id = t.room_id)t
GROUP BY t.room_id,t.online
语句还是有点问题 我最理想的显示结果如下 roomid num time 1 0 2017-03-26 00:00:00 2 1 2017-03-26 00:00:00 3 10 2017-03-26 00:00:00 4 0 2017-03-26 00:00:00 5 3 2017-03-26 00:00:00 6 8 2017-03-26 00:00:00 7 4 2017-03-26 00:00:00 8 2 2017-03-26 00:00:00 9 0 2017-03-26 00:00:00 1 3 2017-03-26 01:00:00 2 5 2017-03-26 01:00:00 3 7 2017-03-26 01:00:00 4 0 2017-03-26 01:00:00 5 8 2017-03-26 01:00:00 6 3 2017-03-26 01:00:00 7 0 2017-03-26 01:00:00 8 3 2017-03-26 01:00:00 9 10 2017-03-26 01:00:00 1 11 2017-03-26 02:00:00 等等 这个里面 roomid 的 1-9 是 9个房间 num 是 统计每小时里面一共60分钟的60条记录 出来的 MAX num time 就是 出现 最大 max num 时候的 time ,如果60条记录的num 全部一样,那么 time 就取 60条记录中最后(或者最先)一条记录的time 不过还是很感谢楼上一直回复帮忙的兄台, 不知道 朋友 明白我的意思了没有?
二月十六 2017-03-26
  • 打赏
  • 举报
回复

SELECT t.room_id,t.online,MIN(t.record_time) FROM(
SELECT tbl_user_online.room_id,tbl_user_online.online,tbl_user_online.record_time from tbl_user_online join 
(SELECT DATE_FORMAT( `record_time` , '%Y-%m-%d %H') as record_time,room_id,MAX(online) as online
 FROM tbl_user_online  GROUP BY DATE_FORMAT( `record_time` , '%Y-%m-%d %H'),room_id
)t
on tbl_user_online.`online` = t.`online`  and DATE_FORMAT( tbl_user_online.record_time , '%Y-%m-%d %H')=t.record_time and tbl_user_online.room_id = t.room_id)t
GROUP BY t.room_id,t.online
wusongping 2017-03-25
  • 打赏
  • 举报
回复
引用 10 楼 sinat_28984567 的回复:
[quote=引用 9 楼 wusongping 的回复:] [quote=引用 8 楼 sinat_28984567 的回复:] [quote=引用 7 楼 wusongping 的回复:] [quote=引用 6 楼 sinat_28984567 的回复:] 看看这样行不,测试数据
SELECT test.roomid,test.num,test.time from test join 
(SELECT DATE_FORMAT( `time` , '%Y-%m-%d %H') as time,roomid,MAX(num) as num
 FROM test  GROUP BY DATE_FORMAT( `time` , '%Y-%m-%d %H'),roomid
)t
on test.num = t.num  and DATE_FORMAT( test.time , '%Y-%m-%d %H')=t.time and test.roomid = t.roomid
结果:
跑出来结果好像不对,一个roomid 应该 一个小时只有一个数据,现在是 每分钟都有结果。。。[/quote] 不应该啊,把语句贴上来看看[/quote] SELECT tbl_user_online.room_id,tbl_user_online.online,tbl_user_online.record_time from tbl_user_online join (SELECT DATE_FORMAT( `record_time` , '%Y-%m-%d %H') as record_time,room_id,MAX(online) as online FROM tbl_user_online GROUP BY DATE_FORMAT( `record_time` , '%Y-%m-%d %H'),room_id )t on tbl_user_online.`online` = t.`online` and DATE_FORMAT( tbl_user_online.record_time , '%Y-%m-%d %H')=t.record_time and tbl_user_online.room_id = t.room_id[/quote] 好吧,是online为0原因,如果都是零的就都读出来了。。。[/quote] 那如果是0可否写语句只写一条?
二月十六 2017-03-25
  • 打赏
  • 举报
回复
引用 9 楼 wusongping 的回复:
[quote=引用 8 楼 sinat_28984567 的回复:] [quote=引用 7 楼 wusongping 的回复:] [quote=引用 6 楼 sinat_28984567 的回复:] 看看这样行不,测试数据
SELECT test.roomid,test.num,test.time from test join 
(SELECT DATE_FORMAT( `time` , '%Y-%m-%d %H') as time,roomid,MAX(num) as num
 FROM test  GROUP BY DATE_FORMAT( `time` , '%Y-%m-%d %H'),roomid
)t
on test.num = t.num  and DATE_FORMAT( test.time , '%Y-%m-%d %H')=t.time and test.roomid = t.roomid
结果:
跑出来结果好像不对,一个roomid 应该 一个小时只有一个数据,现在是 每分钟都有结果。。。[/quote] 不应该啊,把语句贴上来看看[/quote] SELECT tbl_user_online.room_id,tbl_user_online.online,tbl_user_online.record_time from tbl_user_online join (SELECT DATE_FORMAT( `record_time` , '%Y-%m-%d %H') as record_time,room_id,MAX(online) as online FROM tbl_user_online GROUP BY DATE_FORMAT( `record_time` , '%Y-%m-%d %H'),room_id )t on tbl_user_online.`online` = t.`online` and DATE_FORMAT( tbl_user_online.record_time , '%Y-%m-%d %H')=t.record_time and tbl_user_online.room_id = t.room_id[/quote] 好吧,是online为0原因,如果都是零的就都读出来了。。。
wusongping 2017-03-25
  • 打赏
  • 举报
回复
引用 8 楼 sinat_28984567 的回复:
[quote=引用 7 楼 wusongping 的回复:] [quote=引用 6 楼 sinat_28984567 的回复:] 看看这样行不,测试数据
SELECT test.roomid,test.num,test.time from test join 
(SELECT DATE_FORMAT( `time` , '%Y-%m-%d %H') as time,roomid,MAX(num) as num
 FROM test  GROUP BY DATE_FORMAT( `time` , '%Y-%m-%d %H'),roomid
)t
on test.num = t.num  and DATE_FORMAT( test.time , '%Y-%m-%d %H')=t.time and test.roomid = t.roomid
结果:
跑出来结果好像不对,一个roomid 应该 一个小时只有一个数据,现在是 每分钟都有结果。。。[/quote] 不应该啊,把语句贴上来看看[/quote] SELECT tbl_user_online.room_id,tbl_user_online.online,tbl_user_online.record_time from tbl_user_online join (SELECT DATE_FORMAT( `record_time` , '%Y-%m-%d %H') as record_time,room_id,MAX(online) as online FROM tbl_user_online GROUP BY DATE_FORMAT( `record_time` , '%Y-%m-%d %H'),room_id )t on tbl_user_online.`online` = t.`online` and DATE_FORMAT( tbl_user_online.record_time , '%Y-%m-%d %H')=t.record_time and tbl_user_online.room_id = t.room_id
二月十六 2017-03-25
  • 打赏
  • 举报
回复
引用 7 楼 wusongping 的回复:
[quote=引用 6 楼 sinat_28984567 的回复:] 看看这样行不,测试数据
SELECT test.roomid,test.num,test.time from test join 
(SELECT DATE_FORMAT( `time` , '%Y-%m-%d %H') as time,roomid,MAX(num) as num
 FROM test  GROUP BY DATE_FORMAT( `time` , '%Y-%m-%d %H'),roomid
)t
on test.num = t.num  and DATE_FORMAT( test.time , '%Y-%m-%d %H')=t.time and test.roomid = t.roomid
结果:
跑出来结果好像不对,一个roomid 应该 一个小时只有一个数据,现在是 每分钟都有结果。。。[/quote] 不应该啊,把语句贴上来看看
二月十六 2017-03-25
  • 打赏
  • 举报
回复
SELECT test.num,test.time from test join 
(SELECT DATE_FORMAT( `time` , '%Y-%m-%d %H') as time,MAX(num) as num
FROM test GROUP BY DATE_FORMAT( `time` , '%Y-%m-%d %H')
)t
on test.num = t.num and DATE_FORMAT( test.time , '%Y-%m-%d %H')=t.time


wusongping 2017-03-25
  • 打赏
  • 举报
回复
引用 6 楼 sinat_28984567 的回复:
看看这样行不,测试数据



SELECT test.roomid,test.num,test.time from test join 
(SELECT DATE_FORMAT( `time` , '%Y-%m-%d %H') as time,roomid,MAX(num) as num
FROM test GROUP BY DATE_FORMAT( `time` , '%Y-%m-%d %H'),roomid
)t
on test.num = t.num and DATE_FORMAT( test.time , '%Y-%m-%d %H')=t.time and test.roomid = t.roomid



结果:




跑出来结果好像不对,一个roomid 应该 一个小时只有一个数据,现在是 每分钟都有结果。。。
二月十六 2017-03-25
  • 打赏
  • 举报
回复
看看这样行不,测试数据



SELECT test.roomid,test.num,test.time from test join 
(SELECT DATE_FORMAT( `time` , '%Y-%m-%d %H') as time,roomid,MAX(num) as num
FROM test GROUP BY DATE_FORMAT( `time` , '%Y-%m-%d %H'),roomid
)t
on test.num = t.num and DATE_FORMAT( test.time , '%Y-%m-%d %H')=t.time and test.roomid = t.roomid



结果:




wusongping 2017-03-25
  • 打赏
  • 举报
回复
引用 4 楼 sinat_28984567 的回复:
给些测试数据吧,还有测试数据最后查询出来的结果
id , roomid , num , time 1600582 10802 10 2017/3/25 14:03:10 1600580 10800 0 2017/3/25 14:03:10 1600581 10801 2 2017/3/25 14:03:10 1600584 10601 4 2017/3/25 14:03:10 1600587 10702 6 2017/3/25 14:03:10 1600585 10700 1 2017/3/25 14:03:10 1600583 10600 20 2017/3/25 14:03:10 1600586 10602 3 2017/3/25 14:03:10 1600588 10701 6 2017/3/25 14:03:10 1600571 10800 0 2017/3/25 14:02:10 1600575 10601 0 2017/3/25 14:02:10 1600572 10801 5 2017/3/25 14:02:10 1600573 10802 0 2017/3/25 14:02:10 1600579 10702 0 2017/3/25 14:02:10 1600578 10701 3 2017/3/25 14:02:10 1600576 10602 0 2017/3/25 14:02:10 1600574 10600 0 2017/3/25 14:02:10 1600577 10700 5 2017/3/25 14:02:10 1600563 10600 0 2017/3/25 14:01:10 1600569 10702 0 2017/3/25 14:01:10 1600567 10700 21 2017/3/25 14:01:10 1600566 10602 0 2017/3/25 14:01:10 1600565 10801 0 2017/3/25 14:01:10 1600564 10802 0 2017/3/25 14:01:10 1600570 10601 5 2017/3/25 14:01:10 1600568 10701 0 2017/3/25 14:01:10 1600562 10800 0 2017/3/25 14:01:10 1600553 10800 12 2017/3/25 14:00:10 1600556 10600 0 2017/3/25 14:00:10 1600561 10702 0 2017/3/25 14:00:10 1600555 10802 0 2017/3/25 14:00:10 1600557 10601 33 2017/3/25 14:00:10 1600558 10602 0 2017/3/25 14:00:10 1600560 10701 0 2017/3/25 14:00:10 1600554 10801 0 2017/3/25 14:00:10 1600559 10700 0 2017/3/25 14:00:10 1600548 10601 0 2017/3/25 13:59:10 1600549 10602 0 2017/3/25 13:59:10 1600546 10600 0 2017/3/25 13:59:10 1600547 10802 0 2017/3/25 13:59:10 1600545 10800 0 2017/3/25 13:59:10 1600551 10700 0 2017/3/25 13:59:10 1600552 10702 0 2017/3/25 13:59:10 1600550 10701 0 2017/3/25 13:59:10 1600544 10801 0 2017/3/25 13:59:10 1600537 10801 0 2017/3/25 13:58:10 1600542 10700 0 2017/3/25 13:58:10 1600538 10600 0 2017/3/25 13:58:10 1600535 10800 0 2017/3/25 13:58:10 1600539 10601 0 2017/3/25 13:58:10 1600540 10602 0 2017/3/25 13:58:10 1600543 10702 0 2017/3/25 13:58:10 1600541 10701 0 2017/3/25 13:58:10 1600536 10802 0 2017/3/25 13:58:10 1600526 10800 0 2017/3/25 13:57:10 1600532 10700 0 2017/3/25 13:57:10 1600534 10702 0 2017/3/25 13:57:10 1600533 10701 0 2017/3/25 13:57:10 1600527 10801 0 2017/3/25 13:57:10 1600528 10802 0 2017/3/25 13:57:10 1600530 10601 0 2017/3/25 13:57:10 1600529 10600 0 2017/3/25 13:57:10 1600531 10602 0 2017/3/25 13:57:10 1600524 10701 0 2017/3/25 13:56:10 1600525 10702 0 2017/3/25 13:56:10 1600522 10602 0 2017/3/25 13:56:10 1600519 10600 0 2017/3/25 13:56:10 1600520 10802 0 2017/3/25 13:56:10 1600518 10801 0 2017/3/25 13:56:10 1600517 10800 0 2017/3/25 13:56:10 1600521 10601 0 2017/3/25 13:56:10 1600523 10700 0 2017/3/25 13:56:10 1600512 10601 0 2017/3/25 13:55:10 1600514 10700 0 2017/3/25 13:55:10 1600510 10600 0 2017/3/25 13:55:10 1600515 10702 0 2017/3/25 13:55:10 1600516 10701 0 2017/3/25 13:55:10 1600513 10602 0 2017/3/25 13:55:10 1600508 10800 0 2017/3/25 13:55:10 1600509 10801 0 2017/3/25 13:55:10 1600511 10802 0 2017/3/25 13:55:10 1600501 10801 0 2017/3/25 13:54:10 1600504 10602 0 2017/3/25 13:54:10 1600506 10701 0 2017/3/25 13:54:10 1600499 10800 0 2017/3/25 13:54:10 1600502 10600 0 2017/3/25 13:54:10 1600507 10702 0 2017/3/25 13:54:10 1600503 10601 0 2017/3/25 13:54:10 1600505 10700 0 2017/3/25 13:54:10 1600500 10802 0 2017/3/25 13:54:10 1600494 10601 0 2017/3/25 13:53:10 1600496 10700 0 2017/3/25 13:53:10 1600493 10600 0 2017/3/25 13:53:10 1600491 10801 0 2017/3/25 13:53:10 1600492 10802 0 2017/3/25 13:53:10 1600497 10701 0 2017/3/25 13:53:10 1600498 10702 0 2017/3/25 13:53:10 1600495 10602 0 2017/3/25 13:53:10 1600490 10800 0 2017/3/25 13:53:10 1600484 10600 0 2017/3/25 13:52:10 1600483 10801 0 2017/3/25 13:52:10 1600482 10802 0 2017/3/25 13:52:10 1600481 10800 0 2017/3/25 13:52:10 1600485 10601 0 2017/3/25 13:52:10 1600487 10602 0 2017/3/25 13:52:10 1600489 10702 0 2017/3/25 13:52:10 1600486 10700 0 2017/3/25 13:52:10 1600488 10701 0 2017/3/25 13:52:10 1600473 10802 0 2017/3/25 13:51:10 1600474 10801 0 2017/3/25 13:51:10 1600475 10600 0 2017/3/25 13:51:10 1600477 10602 0 2017/3/25 13:51:10 1600479 10701 0 2017/3/25 13:51:10 1600480 10702 0 2017/3/25 13:51:10 1600472 10800 0 2017/3/25 13:51:10 1600476 10601 0 2017/3/25 13:51:10 1600478 10700 0 2017/3/25 13:51:10 1600466 10600 0 2017/3/25 13:50:10 1600469 10700 0 2017/3/25 13:50:10 1600463 10800 0 2017/3/25 13:50:10 1600467 10601 0 2017/3/25 13:50:10 1600465 10802 0 2017/3/25 13:50:10 1600468 10602 0 2017/3/25 13:50:10 1600470 10701 0 2017/3/25 13:50:10 1600464 10801 0 2017/3/25 13:50:10 1600471 10702 0 2017/3/25 13:50:10 1600457 10600 0 2017/3/25 13:49:10 1600462 10702 0 2017/3/25 13:49:10 1600460 10700 0 2017/3/25 13:49:10 1600455 10800 0 2017/3/25 13:49:10 1600459 10602 0 2017/3/25 13:49:10 1600461 10701 0 2017/3/25 13:49:10 1600454 10802 0 2017/3/25 13:49:10 1600458 10601 0 2017/3/25 13:49:10 1600456 10801 0 2017/3/25 13:49:10 1600449 10600 0 2017/3/25 13:48:10 1600452 10702 0 2017/3/25 13:48:10 1600446 10801 0 2017/3/25 13:48:10 1600448 10601 0 2017/3/25 13:48:10 1600445 10800 0 2017/3/25 13:48:10 1600447 10802 0 2017/3/25 13:48:10 1600453 10700 0 2017/3/25 13:48:10 1600451 10701 0 2017/3/25 13:48:10 1600450 10602 0 2017/3/25 13:48:10 1600443 10701 0 2017/3/25 13:47:10 1600442 10700 0 2017/3/25 13:47:10 1600444 10702 0 2017/3/25 13:47:10 1600437 10801 0 2017/3/25 13:47:10 1600439 10600 0 2017/3/25 13:47:10 1600441 10602 0 2017/3/25 13:47:10 1600440 10601 0 2017/3/25 13:47:10 1600436 10800 0 2017/3/25 13:47:10 1600438 10802 0 2017/3/25 13:47:10 1600431 10601 0 2017/3/25 13:46:10 1600427 10800 0 2017/3/25 13:46:10 1600429 10802 0 2017/3/25 13:46:10 1600430 10600 0 2017/3/25 13:46:10 1600433 10701 0 2017/3/25 13:46:10 1600435 10702 0 2017/3/25 13:46:10 1600432 10602 0 2017/3/25 13:46:10 1600428 10801 0 2017/3/25 13:46:10 1600434 10700 0 2017/3/25 13:46:10 1600424 10701 0 2017/3/25 13:45:10 1600425 10700 0 2017/3/25 13:45:10 1600420 10802 0 2017/3/25 13:45:10 1600419 10801 0 2017/3/25 13:45:10 1600426 10702 0 2017/3/25 13:45:10 1600418 10800 0 2017/3/25 13:45:10 1600423 10602 0 2017/3/25 13:45:10 1600421 10601 0 2017/3/25 13:45:10 1600422 10600 0 2017/3/25 13:45:10 1600409 10800 0 2017/3/25 13:44:10 1600417 10702 0 2017/3/25 13:44:10 1600410 10801 1 2017/3/25 13:44:10 1600414 10602 0 2017/3/25 13:44:10 1600412 10600 0 2017/3/25 13:44:10 1600411 10802 0 2017/3/25 13:44:10 1600416 10701 0 2017/3/25 13:44:10 1600415 10700 0 2017/3/25 13:44:10 1600413 10601 4 2017/3/25 13:44:10 1600407 10701 0 2017/3/25 13:43:10 1600403 10801 5 2017/3/25 13:43:10 1600404 10602 0 2017/3/25 13:43:10 1600406 10700 0 2017/3/25 13:43:10 1600405 10601 5 2017/3/25 13:43:10 1600400 10600 0 2017/3/25 13:43:10 1600401 10802 0 2017/3/25 13:43:10 1600402 10800 0 2017/3/25 13:43:10 1600408 10702 0 2017/3/25 13:43:10 1600396 10602 0 2017/3/25 13:42:10 1600398 10701 0 2017/3/25 13:42:10 1600399 10702 9 2017/3/25 13:42:10 1600397 10700 0 2017/3/25 13:42:10 1600394 10600 0 2017/3/25 13:42:10 1600392 10801 0 2017/3/25 13:42:10 1600395 10601 22 2017/3/25 13:42:10 1600391 10800 0 2017/3/25 13:42:10 1600393 10802 0 2017/3/25 13:42:10 1600383 10801 11 2017/3/25 13:41:10 1600389 10702 7 2017/3/25 13:41:10 我需要统计的是 查询出来 9个房间每个小时的在线人数(因为每分钟都在记录,每小时有60条记录,我就取这小时内的num最大值) 房号 每小时的最大num 出现最大num的每个小时时间 (精确到秒) 10600 20 2017/3/25 14:03:10 10601 33 2017/3/25 14:00:10 10602 3 2017/3/25 14:03:10 10700 21 2017/3/25 14:01:10 10701 6 2017/3/25 14:03:10 10702 6 2017/3/25 14:03:10 10800 12 2017/3/25 14:00:10 10801 5 2017/3/25 14:02:10 10802 10 2017/3/25 14:03:10 10600 0 2017/3/25 13:59:10 10601 22 2017/3/25 13:42:10 等等 ,就是每个房间 每小时 都需要从这个小时内的60条记录挑选出num最大的
二月十六 2017-03-25
  • 打赏
  • 举报
回复
给些测试数据吧,还有测试数据最后查询出来的结果
wusongping 2017-03-25
  • 打赏
  • 举报
回复
发快了,补充一下 roomid 是 9个不同房号编号,数据库每分钟记录,这样 第一分钟 入库 9条数据,第二分钟 入库一样9条, roomid是重复的,不是上面 那个 自增的 ID (之前上面描述成了 自增ID)
加载更多回复(1)

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧