gpt4 book ai didi

php - mysql第二优先级where子句

转载 作者:行者123 更新时间:2023-11-29 12:22:13 24 4
gpt4 key购买 nike

例如,我有一个表 users,其中包含“count”列和“uid”列,这是主键。

uid | count
1 | 20
2 | 20
3 | 20
4 | 20
4 | 18

我想精确选择计数小于或等于当前行的一行。例如,我有 uid = 2 的行。

现在我想选择一个计数小于或等于当前计数值“20”的列。我想选择最接近它的一行。

现在我可以选择选择 uid = 3 或 uid = 4 的行。在这种情况下,我将选择具有最低 uid 值的列,使其大于当前 uid 值这是 2。因此我希望 uid = 3 作为我的结果。

如何将其放入 mysql 查询中?

最佳答案

所以是这样的吗?

SELECT * FROM users
WHERE count <= 20
ORDER BY count DESC, uid ASC
LIMIT 1

这将对结果进行排序,以便丢弃 20 以上的所有内容,并按递减计数顺序获得其余内容,如果存在相同计数的倍数,则较低的用户 ID 优先。 LIMIT 1 限制查询仅返回一行。

如果您想与现有行进行比较,最简单的方法是这样做:

SELECT * FROM users
WHERE count <= 20
AND uid != 2
ORDER BY count DESC, uid ASC
LIMIT 1

关于php - mysql第二优先级where子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28838897/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com