MySQL GROUP BY 仅值全部匹配 WHERE 子句

标签 mysql

我需要获取所有 finished = 1 行的数字列表。 例如,正确的列表在这里:2,5

  id | number | finished
-------------------------
  0  | 1      | 0
  1  | 2      | 1
  2  | 2      | 1
  3  | 3      | 0
  4  | 3      | 1
  5  | 3      | 1
  6  | 4      | 1
  7  | 4      | 0
  8  | 4      | 0
  9  | 5      | 1

这个查询不起作用:

SELECT numbers 
WHERE finished = 1 
GROUP BY number;

结果是 2,3,4,5 因为一行会匹配,但我只需要一个数字的所有行都匹配时的数字。

//编辑

答案中的代码运行良好,但现在我遇到了一个新的但几乎相同的问题。 现在我要按 2 列过滤

id | number | finished | fixed
-------------------------------
0  | 1      | 0        | 1
1  | 2      | 1        | 1
2  | 2      | 1        | 1
3  | 3      | 1        | 0
4  | 3      | 1        | 1
5  | 3      | 1        | 1
6  | 4      | 1        | 1
7  | 4      | 0        | 0
8  | 4      | 0        | 1
9  | 5      | 1        | 1

需要的结果是:number = 2,5

现在 where 子句必须是 WHERE finished = 1 AND fixed = 1

最佳答案

您可以像这样使用聚合:

SELECT number
FROM yourTable
GROUP BY number
HAVING MIN(finished) = 1

我假设 finished 只能是 01

关于MySQL GROUP BY 仅值全部匹配 WHERE 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40351334/

相关文章:

PHP MySQL 更新和减去

php - Mysql为变量赋值并回显它

php - 尝试将 Joomla 网站移至新帐户时出现 SQL 错误

mysql - SQL 仅显示计数函数的最大值

mysql - MySQL Cluster 中的数据写入哪里?

php - 在复选框中更改管理面板上的角色

mysql不允许我从两个单独的表中提取并比较它们

php - 在php站点上缓存大量页面

mysql - 获取有关成员数量和预约日期的可用小组

python - MySql 连接器在 Python 中消失