MySQLi : SELECT priority using OR

标签 mysql greatest-n-per-group

我的数据库中有一个 photos 表,它使用 status 列来检测照片是否经过验证...

因此,如果照片的 status = 0 则其未经过验证,但如果 status = 1 则该照片已验证。

我想添加 status = 2 以选择照片作为“主照片”,以便我可以使用

SELECT photo WHERE status = 2

但如果没有选择“主照片”,我想选择任何其他照片,但优先考虑状态 = 2 的照片(如果可用)..所以我想使用如下内容:

SELECT photo WHERE status = 2 OR status != 2

..但优先考虑状态为 2 的照片...因此,如果有 status 2 的照片,它将选择该照片,但如果没有,则可以选择任何照片...

可以这样做吗?

最佳答案

我建议您添加另一列来存储这一事实。如果您不这样做,迟早(很可能很快)会出现另一个状态值,然后会导致困惑,特别是如果状态列可以具有多种含义(例如,3 = 已验证和主照片)。

关于MySQLi : SELECT priority using OR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3271922/

相关文章:

php - 从 View 到模型都是可变的。多维 Controller

javascript - 如何使用 jQuery 删除 HTML 行然后更新到数据库?

sql - 使用相关查询时无法使用 LIMIT

sql - 使用 ARRAY_AGG 获取列中的第一个非 NULL 值是否浪费?

sql - PostgreSQL 组按 : SELECT column on MAX of another WHERE a third column = x

php - 如果我有多行具有相同的值,如何从 mysql 结果中获取单个值

php - php sql查询结果中unicode字符显示错误

mysql - 在 Mediawiki 上运行 SQL 内联查询

mysql - 基于 mysql 查询中最近日期的每组最大 N

mysql - 记录组中 N 列的最大值