MySQL select 不同但仅当所有第二个 col = 1 时?

MySQL select distinct but only if all of second col = 1?

我希望这不是 return 任何东西。我该怎么做?

mysql> select distinct (search_num), complete from Table where complete = '1';
+------------+----------+
| search_num | complete |
+------------+----------+
|       1825 |        1 |
+------------+----------+

因为实际上有一行(或多行)仍然为 0,如图所示:

mysql> select distinct (search_num), complete from Table;
+------------+----------+
| search_num | complete |
+------------+----------+
|       1825 |        1 |
|       1825 |        0 |
+------------+----------+

我该怎么做?

此处的一种方法是按 search_num 聚合,然后断言出现的唯一 complete 值是 1。

SELECT search_num
FROM yourTable
GROUP BY search_num
HAVING MIN(complete) = MAX(complete) AND MIN(complete) = 1;