我有一张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”。
dgsult0t1#
你可以分组 ds_num ,计算出现的次数,并检查 text (即:单行的唯一值)为 no :
ds_num
text
no
SELECT ds_num FROM ds GROUP BY ds_num HAVING COUNT(*) = 1 AND MAX(text) = 'NO'
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);
ccrfmcuu3#
SELECT ds_num FROM tableA GROUP BY ds_num HAVING COUNT(*) = 1
sql fiddle演示
3条答案
按热度按时间dgsult0t1#
你可以分组
ds_num
,计算出现的次数,并检查text
(即:单行的唯一值)为no
:ef1yzkbh2#
ccrfmcuu3#
sql fiddle演示