sql的一个问题! (50分)

  • 主题发起人 主题发起人 poy
  • 开始时间 开始时间
P

poy

Unregistered / Unconfirmed
GUEST, unregistred user!
我想通过sql 语句把表中记录次数超过 5的人找出来要怎么做?
 
如果你是Oracle数据库, 可以这样写:
select item, count(item) from YourTable group by item having count(item)>5
 
select * from tablename where 记录次数>5
 
select * from tablename where count(item)>5 group by item
没试过,不知行不行
 
select item, count(item) from YourTable group by item having count(item)>5
是对的
当有两个表就为什么 会出错!
Select table1.Field1 ,Table2.Field2 , count(table2.field2) from Tabel1,table2
group by Table2.field2 having count(Table2.field2) >5
where table1.id =table2.id
 
你可以先把两个表连接分组的结果保存下来,然后在进行having count(item)>5操作看看
 
Select table1.Field1 ,Table2.Field2 , count(table2.field2) from Tabel1,table2
group by table1.Field1,Table2.field2 having count(Table2.field2) >5
where table1.id =table2.id
你的Group By中要加上table1.Field1。
 
Select a.Field1 ,b.* from (select Table2.Field2 , count(table2.field2)
group by Table2.field2 having count(Table2.field2) >5
from table2 )b,Tabel1 a
where table1.id =table2.id
 
让我试一下,先谢谢各们高手,小弟感激不经尽!
 
我想通过这样在得到记录次数超过5的人的同时也得到 field1日值,
select Table2.Field1,Table2.Field2 , count(table2.field2)
group by Table2.field2 having count(Table2.field2) >5 from table2
这样为什么不行?难道用了count 只能选择一个field吗?
 
通过group by 分组后,select table2.field1 有问题?
这样应该没问题:
select from table2,Table2.Field2 , count(table2.field2)
from table2
group by Table2.field2,Table2.Field1
having count(Table2.field2) >5

 
jiangone 说的对
 
后退
顶部