发布网友 发布时间:2022-04-23 21:39
共5个回答
热心网友 时间:2022-04-08 20:55
SELECT *
FROM tab
WHERE number in (
SELECT number
FROM tab
GROUP by number
HAVING COUNT(type) = 2)
这个更加精确,是不重复的type
SELECT *
FROM tab
WHERE number in (
SELECT number
FROM tab
GROUP by number
HAVING COUNT(distinct type) = 2)
如果你确定只有最多2类型,可以考虑
SELECT * FROM tab t
WHERE EXISTS (SELECT 1 FROM tab WHERE number = t.number and type <> t.type)来自:求助得到的回答
热心网友 时间:2022-04-08 22:13
不明白意思,你的那个查询语句不就满足了。。追问是满足了...如果不知道number等于10呢 我想查 type的值A和B都等于相同number值的时候怎么查询
或者说number有2条数据时怎么查
追答我的代码基本上来自于flyingFish211 ,只加了一个条件 type in ('A','B'),所以贡献是flyingFish211 的。。
SELECT *
FROM tab
WHERE number in (
SELECT number
FROM tab a
where a.type in ('A','B')
GROUP by number
HAVING COUNT(distinct type) = 2)
热心网友 时间:2022-04-08 23:48
SELECT id ,SUM(type)
from
where number = 10
GROUP BY id ,type
HAVING SUM(type)=2
热心网友 时间:2022-04-09 01:39
先抢个位置,是这样么?
select * from tab1 where number in(
select number from tab1 group by number having count(number)>2)
热心网友 时间:2022-04-09 03:47
select * from (表名加上) where number = 10 这个可以把你的那个type 查出来,并且跟你的numben是对应的啊?还是我没有明白你的意思?