gpt4 book ai didi

mysql - SQL不同的SELECT基于条件

转载 作者:行者123 更新时间:2023-12-01 00:36:14 25 4
gpt4 key购买 nike

我有带有“分数”列的 SQL 表。有时该表会有数百行,有时会少于 10 行。我需要一个 SQL 查询,如果表中的行少于 10 行则输出前 3 个分数,或者如果表中的分数多于 10 个则输出前 10 个分数。

我不确定如何在 SQL 中执行此操作,但像这样:

SELECT
CASE
WHEN COUNT(*) < 10 THEN
(
SELECT score
FROM scores_table
ORDER BY score DESC
LIMIT 3
)
WHEN COUNT(*) > 10 THEN
(
SELECT score
FROM scores_table
ORDER BY score DESC
LIMIT 10
)
END

以上内容无效,但希望它能传达我想要得到的信息。

最佳答案

我认为这可以满足您的需求:

(
SELECT `score`
FROM `scores_table`
ORDER BY `score` DESC
LIMIT 3
)
UNION ALL
(
SELECT `score`
FROM `scores_table`
WHERE (SELECT COUNT(*) FROM `scores_table`) >= 10
ORDER BY `score` DESC
LIMIT 2, 7
)

关于mysql - SQL不同的SELECT基于条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49412896/

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