gpt4 book ai didi

mysql - 使用 MySQL 查询,如果字段具有特定值,则将其包含在 SELECT 查询中,否则不包含它

转载 作者:行者123 更新时间:2023-11-29 06:27:52 25 4
gpt4 key购买 nike

我有一个查询,我想在查询中包含一个特定的字段,但前提是该字段中有一个特定的值,否则,我不想包含它。

例如,如果我的 table 有:

 ID     |     Title     |     Liked     |     Score

1 Happy Song 1 10
2 Sad Song 0 20
3 Fun Song 1 30
4 Friendly Song 0 15

我的初始查询是:

SELECT * 
FROM songs
WHERE Liked = '1'
ORDER BY ID Score DESC
LIMIT 3;

但是,如果没有返回的记录在 Liked 字段中有 1 或者只有其中一个有,我仍然需要返回三个记录并希望它只返回常规的非 Liked 记录。

这可能吗?

最佳答案

SELECT *
FROM songs
ORDER BY Liked DESC, ID, Score DESC
LIMIT 3

ORDER BY Liked DESC 将喜欢的记录放在第一位。如果至少有 3 条喜欢的记录,它们将被显示。如果较少,则添加不喜欢的记录。

顺便说一句,如果 ID 字段是唯一的,那么在 ORDER BY 子句中它后面有其他字段就没有意义了。后面的字段仅在前面的字段具有相同值时使用。您可能需要 ORDER BY Liked DESC, Score DESC

关于mysql - 使用 MySQL 查询,如果字段具有特定值,则将其包含在 SELECT 查询中,否则不包含它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29862106/

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