我在互联网上搜索了几个小时,但我发现什么都没有帮助我。这是我的问题...
我的表
Dim something1001this, something1002this, something1003this etc...
Dim ident As Integer = 1002
Dim name = ... ?
SQL
/ id / number / idobject /
/ 1 / 50 / 2 /
/ 2 / 60 / 2 /
/ 3 / 70 / 2 /
/ 4 / 80 / 1 /
/ 5 / 10 / 2 /
/ 6 / 20 / 1 /
/ 7 / 90 / 3 /
我想要的结果
SELECT *
FROM table
WHERE number > 50
我只希望idobjects至少有1个idobject为true(> = 50)且没有idobject false
答案 0 :(得分:3)
如果我得到它,你希望idojects至少有1个idobject为true(> = 50)并且没有idobject false
SELECT MAX(id) as id ,MAX(number) as number,idobject
FROM t
GROUP BY idobject
HAVING SUM(number <50)=0
AND SUM(number >=50)>0
修改
如果你有超过1个idobject为true,你可以用GROUP_CONCAT
替换MAX答案 1 :(得分:2)
您可以使用NOT IN子句。
select idobject from table where idobject not in(select idobject from table where number<50);