如何同时使用rand()和group命令?

时间:2017-05-17 18:00:33

标签: mysql group-by sql-order-by

我的查询是这样的:

SELECT * 
FROM (
    SELECT a.*, b.name AS store_name
    FROM products a
    JOIN stores b ON b.id = a.store_id
    WHERE a.status = 1
    ORDER BY RAND()
) AS product
GROUP BY store_id LIMIT 100

执行查询时,结果相同。这不是随机的。

如果我删除组,那么它可以正常工作

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

Group by与count,sum,avg ...一起使用 你不能单独使用它

表示exp:

ID结果

1是

2否

3否

3是

2是

2否

SELECT id,count(*) as nb
FROM table
GROUP BY (id)

输出将是

id nb

1 1

2 3

3 3

按'id'分组始终必须将其显示为查询结果