仅随机化一部分查询结果

时间:2015-01-26 14:18:31

标签: mysql

我正在将数据库表中的价格从最低到最高排序。 但是,当有重复的价格时,我想将这些结果随机化,而不是按照它们的创建顺序输出。

    ie
Not random
    id:1   $9.00
    id 2: $12.00
    id 3: $12:00
    id 4: $12.00
    id 5: $14.00

randomized
    id:1   $9.00
    id 3: $12.00
    id 2: $12:00
    id 4: $12.00
    id 5: $14.00

randomized
    id:1   $9.00
    id 4: $12.00
    id 2: $12:00
    id 3: $12.00
    id 4: $14.00

randomized
    id:1   $9.00
    id 2: $12.00
    id 4: $12:00
    id 3: $12.00
    id 4: $14.00

etc.

2 个答案:

答案 0 :(得分:0)

您可以按多个表达式排序,只需逐个列出它们即可。如果第一个表达式上有两行匹配,则它们将按第二个表达式排序。

ORDER BY price, RAND()

这应该可以做你想要的。

答案 1 :(得分:0)

试试这个:

ORDER BY price, rand()