gpt4 book ai didi

mysql - 显示同一列中两个条件满足的 ID

转载 作者:行者123 更新时间:2023-11-29 06:27:59 25 4
gpt4 key购买 nike

这是我的表

ID    || Basket  || Balls
--------------------------
1 || Ram || 1
1 || Rom || 3
2 || Ram || 2
3 || Rom || 5

查询 - 选择在 Ram Rom 中至少有 1 个球的所有 ID。

----Ram中至少有1个球的所有ID

 SELECT distinct  ID
INTO #RAM
FROM Table1
where balls > =1 and basket = 'Ram'

----Rom中至少有1个球的所有ID

 SELECT distinct  ID
INTO #ROM
FROM Table1
where balls > =1 and basket = 'Rom'

---所有同时具有这两者的ID

 Select distinct ID 
INTO #FinalTable
from #RAM a join #ROM b on a.id = b.id

这是我到目前为止所写的,它有效,但我觉得肯定有一种更有效的方法来做到这一点。

请告诉我。谢谢。

最佳答案

我会使用单个聚合:

select id
from table1 t1
group by id
having sum(case when basket = 'Ram' then balls end) > 0 and
sum(case when basket = 'Rom' then balls end) > 0;

假设 balls 的值绝不是负数或零,那么您只需检查行是否存在。 MySQL 中的情况要简单一些:

select id
from table1 t1
group by id
having sum(basket = 'Ram') > 0 and
sum(basket = 'Rom') > 0;

关于mysql - 显示同一列中两个条件满足的 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58368813/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com