这是我的表结构
phone_calls(id, phone_number, call_id, timestamp, colx, col y )
phone_calls
我想从组 concat 中的表中检索 10 个最近的调用,而不需要子查询
这是我的表结构
phone_calls(id, phone_number, call_id, timestamp, colx, col y )
phone_calls
我想从组 concat 中的表中检索 10 个最近的调用,而不需要子查询
试试这个(没有子查询它不会工作):
SELECT
GROUP_CONCAT(call_id)
FROM (
SELECT
call_id
FROM
phone_calls
ORDER BY
id DESC
LIMIT 10
) as tmp
更新:没有子查询:
SET @c:='';
SELECT
@c:=CONCAT(@c,',',call_id)
FROM
phone_calls
ORDER BY
id DESC
LIMIT 10;
SELECT @c;
好的,我不确定这是否是您的问题,但是要使用 group_concat 您需要按列分组,对吗?不确定这是否可行,但您可以尝试一下,我以前使用过这种虚拟 col 方式
select 1 as col, group_concat(call_id) as latest_calls from phone_calls
ORDER BY timestamp DESC GROUP BY col LIMIT 10
你会有一个额外的无用列 col,但 latest_calls 应该是正确的