是否可以使用Mysql获取前n行(比如列的10行)的逗号分隔值?
我有一个查询来获取大于CURDATE()的数据。它将返回超过100行的结果。我想要的是,GROUP_CONCAT前10行结果。
这是我的疑问:
SELECT GROUP_CONCAT(user_id) AS userids
FROM user_tasks
WHERE due_date > CURDATE() LIMIT 10;
我正在获得整行。我只需要前10行
由于
答案 0 :(得分:14)
使用子查询:
SELECT
GROUP_CONCAT(user_id) AS userids
FROM
(SELECT
user_id
FROM
user_tasks
WHERE due_date > CURDATE()
LIMIT 10) AS users
答案 1 :(得分:7)
您需要使用子查询来强加限制,如下所示:
SELECT GROUP_CONCAT(sub_query.user_id) AS userids
FROM
(
SELECT user_id
FROM user_tasks
WHERE due_date > CURDATE()
LIMIT 10
) sub_query