HQL 随机抽取N条记录 怎么写 用的MYSQL数据库

2025-04-06 13:33:19
推荐回答(1个)
回答1:

SELECT
group_code,
name
FROM
(
SELECT
CASE
WHEN @cn != group_code THEN @rownum:= 1
ELSE @rownum:= @rownum + 1
END AS No,
group_code,
@cn := group_code AS group_code,
name
FROM
(SELECT @rownum:=0) r,
(SELECT @cn:= '') p,
(SELECT * FROM test_order_by_rand order by group_code, rand()) tmp
) subQuery
WHERE
No <= 3
ORDER BY
group_code;