1

我想从表中检索随机行,但这些行必须按类别排序。

select category, 
   (select order_number 
   from orders 
   where order_number in (123,125,128,129,256,263,966,258,264,159,786) 
   order by rand()) 
from orders 
order by category

这是我尝试过的查询。但这会检索表中的整个数据。


工作查询;

SELECT category,order_number FROM (
    SELECT category,order_number 
    from orders 
    where order_number in (`$order_numbers_variable`) 
    order by rand()
) order by category
4

1 回答 1

1

我假设要求是: 从按 'category' 排序的表中检索 'N' 随机行

让我们假设N10。如果要更改行数,请在 LIMIT 子句中更改。

SELECT * FROM (
    SELECT category from orders ORDER BY rand() ASC  LIMIT 10
) AS innerResult 
ORDER BY innerResult.category
于 2013-01-14T10:33:27.817 回答