gpt4 book ai didi

mysql - 使用 RAND() 选择带有 concat、group 和 limit 的行

转载 作者:行者123 更新时间:2023-11-29 06:14:28 26 4
gpt4 key购买 nike

我有一个表 tbl_ 问题。我想要这样的记录:

subject_id question_id
3 4,5

我的表格是这样的:

id question subject_id 
1 a 1
2 b 1
3 c 2
4 d 3
5 e 3
6 f 3

我试过用

SELECT subject_id, group_concat(id) 
FROM tbl_qus_bank
WHERE subject_id=3
ORDER by RAND() LIMIT 2

但是没有用。

最佳答案

尝试子查询:

SELECT subject_id, group_concat(id) 
FROM (SELECT qb.*
FROM tbl_qus_bank qb
WHERE subject_id = 3
ORDER by RAND() LIMIT 2
) qb
GROUP BY subject_id;

或者,您也可以使用 substring_index()——如果主题总数不太大:

SELECT subject_id,
substring_index(group_concat(id) order by rand(), ',', 2)
FROM tbl_qus_bank
WHERE subject_id = 3;

ORDER BYLIMIT 应用于整个查询的结果。也就是说,它们 GROUP_CONCAT() 已经生成其结果之后被处理。

关于mysql - 使用 RAND() 选择带有 concat、group 和 limit 的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36622329/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com