通过评级/投票排序SQL

时间:2015-02-23 01:31:13

标签: sql

我有以下SQL语句;

SELECT * FROM items WHERE votes > 4 ORDER BY (rating/votes) DESC

但不是只显示WHERE投票> 4,我希望显示所有记录,但优先考虑票数超过4的记录,仍保持评级/票数分数

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

有点不清楚你的目标是什么,但我可能会对ORDER BY条款有两个部分:

  • 喜欢超过四个
  • 的人
  • 排序

这看起来像这样:

SELECT *
FROM items
ORDER BY IIF(Votes > 4, 0, 1),
         (rating/votes) DESC

基本上,我为是否有超过四个投票(0)分配一个数字,如果少于(1)则分配一个数字。由于0小于1,因此将首先拉出超过四票的那些。

你可能不需要WHERE条款,因为它会过滤掉少于四张的任何条款。