gpt4 book ai didi

MySQL ORDER BY > 如果值相等则交换结果

转载 作者:行者123 更新时间:2023-11-29 05:34:12 26 4
gpt4 key购买 nike

我正在使用一个简单的 MySQL 语句来查询我的数据库以获取按点击次数排序的产品建议:

SELECT * FROM suggestions WHERE source = :source_item_id ORDER BY clicks DESC LIMIT 7

一切都按预期工作。但是,如果点击次数相同,有没有办法让MySQL随机吐出来?

例子:

Product  Clicks
1 2
2 2
3 3

如果查询的话,顺序是3,2,1,如果点击没有变化,就一直是这个顺序。我如何随机分配每个点击次数为 w 的产品 1 和 2?我时不时地想交换结果,即将结果设为 3、1、2,也许下一次是 3、2、1。

最佳答案

添加一个具有随机值的列并对其进行二次排序怎么样?

SELECT product, clicks, RAND() AS rand 
FROM suggestions
WHERE source = :source_item_id
ORDER BY clicks, rand
DESC
LIMIT 7

关于MySQL ORDER BY > 如果值相等则交换结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12126638/

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