比如说我有一张桌子:
Table: Message
| data | likes | dislikes |
我如何才能有效地找到最喜欢和最不喜欢的那一排,也就是最有争议的那一排。所以对于下面的例子:
{("Hello", 10, 5)
("Ola!", 5, 5)
("Ni Hao!", 2, 2)
("Wazzup!", 5, 7)}
“你好”将被选中。
任何帮助都将不胜感激!
最佳答案
1)您可能希望使用一些其他指标,而不是abs(likes - dislikes)
。在这种情况下,(0, 5)
和(100, 105)
也会有同样的争议。
我想,likes*dislikes
可能在你的条件下有效。
2)我不确定jdoql
,但由于您指定了sql标记,在标准sql中,这可以不排序完成。有点像
select * from Message
where likes*dislikes = (select max(likes*dislikes) from Message)