前n行的Mysql GROUP_CONCAT

V-T*_*V-T 9 mysql

是否可以使用Mysql获取前n行(比如说10行列)的逗号分隔值?

我有一个查询来获取大于CURDATE()的数据.它将返回超过100行的结果.我想要的是,GROUP_CONCAT前10行结果.

这是我的查询:

SELECT GROUP_CONCAT(user_id) AS userids
FROM user_tasks
WHERE due_date > CURDATE() LIMIT 10;
Run Code Online (Sandbox Code Playgroud)

我得到了整行.我只需要前10行

谢谢

Alm*_* Do 14

使用子查询:

SELECT 
  GROUP_CONCAT(user_id) AS userids
FROM
  (SELECT 
    user_id
  FROM
    user_tasks
  WHERE due_date > CURDATE()
  LIMIT 10) AS users
Run Code Online (Sandbox Code Playgroud)


Ike*_*ker 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
Run Code Online (Sandbox Code Playgroud)