当“num”的状态为“yes”时,我想从中选择不同的值,而不是一次包括“no”?
表格:
+--------+-----+--------+
| id | num | status |
+--------+-----+--------+
| 364519 | AAA | YES |
| 364522 | BBB | YES |
| 364525 | AAA | NO |
| 364527 | CCC | YES |
| 364530 | DDD | YES |
| 364532 | EEE | YES |
| 364535 | FFF | YES |
| 364537 | DDD | YES |
| 364538 | DDD | NO |
| 364539 | FFF | NO |
+--------+-----+--------+
需要的结果:
+--------+-----+--------+
| id | num | status |
+--------+-----+--------+
| 364522 | BBB | YES |
| 364527 | CCC | YES |
| 364532 | EEE | YES |
+--------+-----+--------+
5条答案
按热度按时间sy5wg1nm1#
从status='yes'的表中选择distinct(num)、id、status
zvms9eto2#
我只想用
group by
俱乐部:uplii1fm3#
还是这个
dluptydi4#
只是一些其他的方法((看起来是最干净的)
将数据分为两组,并确保“a”组在“b”组第一种方法中没有数据,在“a”组中使用仅限外部连接的返回记录,在“b”组中找不到相关的num。
第二种方法不存在。类似的只有“a”集中的num记录,而不是“b”集中的num记录。
ewm0tg9j5#
你可以用
HAVING
:dbfiddle演示