首页 > 解决方案 > 在第二列的两个值之间选择一个值

问题描述

我有一张桌子 DS:

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 并且在 TEXT 字段中有“NO”。

标签: sqlselect

解决方案


您可以分组ds_num,计算出现次数并检查最大值text(即:单行情况下的唯一值)是否为no

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

推荐阅读