【问题标题】:SQL Sort by RAND and then sort by something else [duplicate]SQL按RAND排序,然后按其他排序[重复]
【发布时间】:2015-10-06 19:16:41
【问题描述】:

我正在尝试先通过 RAND 在 SQL 中获取数据,然后通过其他方式(例如价格)对 那些随机获取的项目进行排序。
我试过的方法都没有奏效。

ORDER BY RAND(`parts`.price) DESC LIMIT 6

例如,这会一遍又一遍地获取相同的项目。

ORDER BY RAND(),`parts`.price DESC LIMIT 6

这会获取随机项目,但不会对它们进行排序。

ORDER BY `parts`.price, RAND() DESC LIMIT 6

这会获取相同的项目,而不是随机也不是按价格。

有什么想法吗?

【问题讨论】:

    标签: mysql sql sorting random


    【解决方案1】:

    回答 here 可能会对您有所帮助

    SELECT * FROM 
    (
        SELECT * FROM table_name ORDER BY rand() LIMIT 6
    ) T1
    ORDER BY `parts`.price
    

    基本上,您正在使用第一个查询创建一个临时表,然后对其进行排序。

    【讨论】:

      猜你喜欢
      • 2021-05-29
      • 1970-01-01
      • 2016-11-07
      • 2017-07-01
      • 2011-12-06
      • 1970-01-01
      • 2016-01-23
      • 1970-01-01
      • 2013-05-04
      相关资源
      最近更新 更多