日期:2014-05-17  浏览次数:20761 次

sql 显示表格中出现过4次的字段
name tel ppp
a 123 g1
a 421 g2
b 123 g1
b 421 g2
a 123 g1
a 421 g2
c 123 g1
a 421 g2
b 123 g1
a 421 g2
b 123 g1
a 421 g2
g 123 g1
e 421 g2
h 123 g1
a 421 g2
上表中name字段a和b都出现过4次或以上,我想SELECT出来全部name字段出现过4次或以上的行。
请问这SELECT应该怎么写啊?
求教!!??
谢谢!!

------解决方案--------------------
使用having count(*)>=4来做最后一次筛选就可以拉
------解决方案--------------------
select name, tel, ppp from tb group by name, tel, ppp having count(*)>=4
------解决方案--------------------
select * from 表 a
where exists (select 1 from (
select tel, ppp
from 表
where name in ('a','b')
group by tel, ppp
having count(name)>=4) b where a.tel=b.tel and a.ppp=b.ppp)

试一下是不是你想要的,下次麻烦搞成建表和查数据的语句,这样别人测试语句的结果也方便很多,造数据很痛苦的。