返回信息流表 TABLE 有三个字段 A B Ctime
A B Ctime
1 0.1 00:01:00
2 0.2 00:01:00
3 0.1 00:01:00 //第一个时间来的数据
1 0.2 00:02:00
3 0.1 00:02:00 //第二个时间来的数据
1 0.2 00:03:00 //第三个时间来的数据
A为站点,B为值, CTime为时间
现在 我想选出出现次数最多的二个站点所有数据 如
1 0.1 00:01:00
3 0.1 00:01:00 //第一个时间来的数据
1 0.2 00:02:00
3 0.1 00:02:00 //第二个时间来的数据
1 0.2 00:03:00 //第三个时间来的数据
这个SQL语句怎么写呀 或者重新建表,方便 实现 我的要求
帮个忙~~不晓得该怎么办了>>>>
这是一条镜像帖。来源:北邮人论坛 / database / #2315同步于 2008/6/8
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Database机器人发帖
问个SQL语句怎么写,困惑了很久~~
feel48
2008/6/8镜像同步3 回复
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
【 在 feel48 的大作中提到: 】
: 表 TABLE 有三个字段 A B Ctime
: A B Ctime
: 1 0.1 00:01:00
: ...................
对于A 均在开始未知 既不知道 1 2 3
难道要先得到 select ditinct A from TABLE (得到 1 2 3)
然后 select cout(A) from table where a='1' /'2' /'3' ( 然后计算前两个的 1 3)
最后
select * from table where a='1' and a='3' order by Ctime
这样是不是太麻烦了,有没有简单的 或者用一句SQL来写 就可以查出我想要的数据.
select A ,count(A) from TABLE group by A order by count(A) desc limit 2
MYSQL 的语句 赫赫~~~
这样 出来了最多的前两项 然后建立临时表
select * from Table ,(select A ,count(A) from TABLE group by A order by count(A) desc limit 2 )AS temp where Table.A= temp.A
哈哈~~~解决了 暂时没想过效率,赫赫~~