gpt4 book ai didi

php - 在 mysql ORDER BY 中使用 case

转载 作者:可可西里 更新时间:2023-11-01 06:44:48 26 4
gpt4 key购买 nike

我有一个表格,其中包含:项目、排名分数和用户对它的投票数。为简单起见:id、ranks、votes。

我正在尝试运行一个查询,该查询将项目从最高排名得分排序到最低得分,除非投票数 = 0。

因为我有新项目的基本排名分数,所以无法对我的排名进行排序。

我尝试了以下方法以及其他一些排列方式:

$list = $dbh->query('SELECT * FROM ranks ORDER BY votes desc, rating desc case when min(votes)= 0 else rating desc');

无济于事,看了之后: Conditional sorting in MySQLConditional sorting in MySQL?

我试过这个:

SELECT * FROM ranks ORDER BY rating desc, case votes when 0 then votes end 

这是表格,我得到的输出:

ID : Rating : Votes
2 : 201 : 9
3 : 100 : 0
4 : 100 : 0
5 : 100 : 0
1 : -13 : 9

我理想的输出是:

ID : Rating : Votes
2 : 201 : 9
1 : -13 : 9
4 : 100 : 0
5 : 100 : 0
3 : 100 : 0

如您所见,这并没有将所有 0 票项目分组到最后。

我确信这非常简单,我非常感谢任何指点和最佳实践。干杯!

最佳答案

这个组全0结束。

SELECT * FROM `ranks` ORDER BY (Votes=0), Rating DESC

关于php - 在 mysql ORDER BY 中使用 case,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24847848/

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