sql—从第二列的两个值中选择一个值

6vl6ewon  于 2021-07-24  发布在  Java
关注(0)|答案(3)|浏览(575)

我有一张table:

DS_num  TEXT
DS1     YES
DS1      NO
DS2     YES
DS2      NO
DS3      NO
DS4      NO
DS4     YES
DS5     YES
DS6      NO
DS7     YES
DS7      NO
DS8      NO
.....

从表ds我只想得到ds3,ds6和ds8。这意味着我只想得到不重复的ds\ num,并且在文本字段中有“no”。

dgsult0t

dgsult0t1#

你可以分组 ds_num ,计算出现的次数,并检查 text (即:单行的唯一值)为 no :

SELECT   ds_num
FROM     ds
GROUP BY ds_num
HAVING   COUNT(*) = 1 AND MAX(text) = 'NO'
ef1yzkbh

ef1yzkbh2#

SELECT DS_num
FROM DS
WHERE TEXT="NO"
  AND DS_num IN
    (SELECT DS_num
     FROM DS
     GROUP BY DS_num
     HAVING count(DS_num)=1);
ccrfmcuu

ccrfmcuu3#

SELECT   ds_num
FROM     tableA
GROUP BY ds_num
HAVING   COUNT(*) = 1

sql fiddle演示

相关问题