喜悦国际村 » 数据库技术 » mysql一个高级查询问题.急,在线等!!!!

页: [1]
aggrelxf2008-3-10 03:35 AM
mysql一个高级查询问题.急,在线等!!!!

一个表tables1,这个表每天有十几万条数据入库,里边是记录网卡的一个表.
因为这个表中的数据是实时的,一直都会有变化.要得到在一个时间断内,网卡号以每天去重来计算.在这个时间断内使用一次的网卡数有多少?使用两次,三次,四次,五次,五次以上的网卡数量有多少?

关系比较绕.不知道哪位大侠可以解决这个SQL语句的问题.
再对数据做个说明:是按天去重的,每天去重后,比如一周内有一千个使用的网卡,而且每天一个网卡只能报一次(就是每天去重),在这7天1000个数据中,使用过一次的有几个,使用过两次的有几个,使用过三次,四次,五次,五次以上的网卡多少个..就是取这么一组数据的..请各位高手帮帮忙,在线等答案.谢谢各位了..:Q

[[i] 本帖最后由 aggrelxf 于 2008-3-10 11:43 AM 编辑 [/i]]

bnini2008-3-10 05:37 AM
where+group+having

aggrelxf2008-3-10 08:04 AM
请问您这个语句怎么来写呢.我已经用了这您说的方法.试了很多方法,但都没有出来想要的结果.大侠能否给演示一下呢?

aggrelxf2008-3-10 08:14 AM
select day,client,serial,count(serial) from tables1 where day>'20080120' and day<'20080120' group by day,client,serial having count(serial)=2;
以上这句我本来是想取一段时间内使用两次的网卡数量的.但是根本是取不出来的.后边的having count(serial)取出来的是没有去重的网卡数量,而我想要的是每天都去重以后,一段时间内的使用数量.(前提是每天的数据都要去重的.一天一个网卡号只能有一次)

aggrelxf2008-3-10 02:54 PM
没有哪位高手可以帮忙解决吗?在线急等。。。麻烦各位了。。

aggrelxf2008-3-10 02:57 PM
这个问题应该是用联合查询的。但是没有至今没有找到条件来控制结果。哪位高手能帮忙我这个菜鸟。感激不尽。。

grow-easy\2008-3-12 01:16 AM
create temporary table t1 (index(date,cardnum)) select distinct cardNum, date_format('%Y-%m-%d',date) as date from table1 where date between xxx and yyy ;

下面能搞定了吧?

oldsword2008-3-25 11:03 AM
你的大于小于看不出是个什么意思
select day,client,serial,count(serial) AS coun from tables1 where day=‘20080120'  group by day having count>2;


查看完整版本: mysql一个高级查询问题.急,在线等!!!!


Powered by Discuz! Archiver 6.1.0  © 2001-2006 Comsenz Inc.
Processed in 0.006099 second(s), 2 queries