例如我有一个表:emplo(id,name,phone,age)
如何把存在年龄相同的人数大>2的所有记录一次性提出。
如现有:
1 张1 55555 1
2 张2 55555 10
3 张3 55555 10
4 张4 55555 20
5 张5 55555 20
6 张6 55555 30
7 张7 55555 20
一次性选出记录:
2 张2 55555 10
3 张3 55555 10
4 张4 55555 20
5 张5 55555 20
7 张7 55555 20
15 个解决方案
#1
select * from emplo where age in(select age from emplo group by age where count(1)>2)
#2
select * from emplo where age in (select age from emplo group by age having(age)>2)
#3
select
a.*
from
emplo a
where
exists(select 1 from emplo where id!=a.id and age=a.age)
a.*
from
emplo a
where
exists(select 1 from emplo where id!=a.id and age=a.age)
#4
where改成having
select * from emplo where age in(select age from emplo group by age havingcount(1)>2)
暂时还没有想出更简单的,好像用left jou
select * from emplo where age in(select age from emplo group by age havingcount(1)>2)
暂时还没有想出更简单的,好像用left jou
#5
来晚了, Leftie(左手,为人民币服务) 已给出答案
#6
已有满地的答案,呜呜
#7
select * from emplo where age in (select age from emplo group by age having count(age)>2)
#8
楼主是要>2的数据,怎么把=2的数据也在结果集中列出来误倒偶啊,:(
#9
select * from emplo where age in(select age,count(id) countid from emplo group by age where countid>=2)
#10
select age from emplo group by age having cuont(*)>=2
哈哈,我的最短
哈哈,我的最短
#11
最少的sql语句,
写的字母最少???
写的字母最少???
#12
昨天大家给出的解答思路基本正确,完全正确的是如下两为大侠:“ancyzhou”和 “libin_ftsafe(子陌红尘)”,比较好的是后面一位给出的解答,因为他已经满足了我今天提出的问题,关于今天的问题大家能否给出更好的解答。
问题2:
emplo(id,name,phone,age,company)
如何把存在年龄相同并且所在公司相同的人数大>2的所有记录一次性提出。
如现有数据:
1 张1 55555 1 company1
2 张2 55555 10 company2
3 张3 55555 10 company2
4 张4 55555 20 company4
5 张5 55555 20 company4
6 张6 55555 30 company6
7 张7 55555 20 company4
8 张8 55555 20 company8
9 张9 55555 20 company8
10 张10 55555 20 company10
11 张11 55555 20 company11
一次性选出记录:
2 张2 55555 10 company2
3 张3 55555 10 company2
4 张4 55555 20 company4
5 张5 55555 20 company4
7 张7 55555 20 company4
8 张8 55555 20 company8
9 张9 55555 20 company8
问题2:
emplo(id,name,phone,age,company)
如何把存在年龄相同并且所在公司相同的人数大>2的所有记录一次性提出。
如现有数据:
1 张1 55555 1 company1
2 张2 55555 10 company2
3 张3 55555 10 company2
4 张4 55555 20 company4
5 张5 55555 20 company4
6 张6 55555 30 company6
7 张7 55555 20 company4
8 张8 55555 20 company8
9 张9 55555 20 company8
10 张10 55555 20 company10
11 张11 55555 20 company11
一次性选出记录:
2 张2 55555 10 company2
3 张3 55555 10 company2
4 张4 55555 20 company4
5 张5 55555 20 company4
7 张7 55555 20 company4
8 张8 55555 20 company8
9 张9 55555 20 company8
#13
更正一下:
“如何把存在年龄相同并且所在公司相同的人数>2的所有记录一次性提出。”
更正为:
“如何把存在年龄相同并且所在公司相同的人数>=2的所有记录一次性提出。”
“如何把存在年龄相同并且所在公司相同的人数>2的所有记录一次性提出。”
更正为:
“如何把存在年龄相同并且所在公司相同的人数>=2的所有记录一次性提出。”
#14
根据上面人家写的自己琢磨去
#15
-- 在libin_ftsafe(子陌红尘)的基础上面改一下,
-- 这个语句简单一点
select distinct a.*
from emplo a, emplo b
where a.id != b.id and a.age = b.age and a.company = b.company
-- 这个语句简单一点
select distinct a.*
from emplo a, emplo b
where a.id != b.id and a.age = b.age and a.company = b.company
#1
select * from emplo where age in(select age from emplo group by age where count(1)>2)
#2
select * from emplo where age in (select age from emplo group by age having(age)>2)
#3
select
a.*
from
emplo a
where
exists(select 1 from emplo where id!=a.id and age=a.age)
a.*
from
emplo a
where
exists(select 1 from emplo where id!=a.id and age=a.age)
#4
where改成having
select * from emplo where age in(select age from emplo group by age havingcount(1)>2)
暂时还没有想出更简单的,好像用left jou
select * from emplo where age in(select age from emplo group by age havingcount(1)>2)
暂时还没有想出更简单的,好像用left jou
#5
来晚了, Leftie(左手,为人民币服务) 已给出答案
#6
已有满地的答案,呜呜
#7
select * from emplo where age in (select age from emplo group by age having count(age)>2)
#8
楼主是要>2的数据,怎么把=2的数据也在结果集中列出来误倒偶啊,:(
#9
select * from emplo where age in(select age,count(id) countid from emplo group by age where countid>=2)
#10
select age from emplo group by age having cuont(*)>=2
哈哈,我的最短
哈哈,我的最短
#11
最少的sql语句,
写的字母最少???
写的字母最少???
#12
昨天大家给出的解答思路基本正确,完全正确的是如下两为大侠:“ancyzhou”和 “libin_ftsafe(子陌红尘)”,比较好的是后面一位给出的解答,因为他已经满足了我今天提出的问题,关于今天的问题大家能否给出更好的解答。
问题2:
emplo(id,name,phone,age,company)
如何把存在年龄相同并且所在公司相同的人数大>2的所有记录一次性提出。
如现有数据:
1 张1 55555 1 company1
2 张2 55555 10 company2
3 张3 55555 10 company2
4 张4 55555 20 company4
5 张5 55555 20 company4
6 张6 55555 30 company6
7 张7 55555 20 company4
8 张8 55555 20 company8
9 张9 55555 20 company8
10 张10 55555 20 company10
11 张11 55555 20 company11
一次性选出记录:
2 张2 55555 10 company2
3 张3 55555 10 company2
4 张4 55555 20 company4
5 张5 55555 20 company4
7 张7 55555 20 company4
8 张8 55555 20 company8
9 张9 55555 20 company8
问题2:
emplo(id,name,phone,age,company)
如何把存在年龄相同并且所在公司相同的人数大>2的所有记录一次性提出。
如现有数据:
1 张1 55555 1 company1
2 张2 55555 10 company2
3 张3 55555 10 company2
4 张4 55555 20 company4
5 张5 55555 20 company4
6 张6 55555 30 company6
7 张7 55555 20 company4
8 张8 55555 20 company8
9 张9 55555 20 company8
10 张10 55555 20 company10
11 张11 55555 20 company11
一次性选出记录:
2 张2 55555 10 company2
3 张3 55555 10 company2
4 张4 55555 20 company4
5 张5 55555 20 company4
7 张7 55555 20 company4
8 张8 55555 20 company8
9 张9 55555 20 company8
#13
更正一下:
“如何把存在年龄相同并且所在公司相同的人数>2的所有记录一次性提出。”
更正为:
“如何把存在年龄相同并且所在公司相同的人数>=2的所有记录一次性提出。”
“如何把存在年龄相同并且所在公司相同的人数>2的所有记录一次性提出。”
更正为:
“如何把存在年龄相同并且所在公司相同的人数>=2的所有记录一次性提出。”
#14
根据上面人家写的自己琢磨去
#15
-- 在libin_ftsafe(子陌红尘)的基础上面改一下,
-- 这个语句简单一点
select distinct a.*
from emplo a, emplo b
where a.id != b.id and a.age = b.age and a.company = b.company
-- 这个语句简单一点
select distinct a.*
from emplo a, emplo b
where a.id != b.id and a.age = b.age and a.company = b.company