我在mysql中有一个视图,我想在一行中显示两个具有相同id的行。请参阅以下图片:
请帮助我:我想在一列中显示 expr1 列
答案 0 :(得分:3)
使用GROUP_CONCAT
:
SELECT POST_ID,TITLE,USERNAME,DATE_TIME,COMMENT_COUNT,GROUP_CONCAT(Expr1) as Expr1
FROM TableName
GROUP BY POST_ID,TITLE,USERNAME,DATE_TIME,COMMENT_COUNT
结果将是:
POST_ID TITLE USERNAME DATE_TIME COMMENT_COUNT Expr1
1 HELLO WORLD AMIN 2014-01-01 00:00:00.000 0 OS,windows xp
答案 1 :(得分:0)
由于所有其他列中的数据似乎都匹配,因此按id
进行分组可能会有效
但始终建议group by
在select
select
post_id, title,
username, date_time,
comment_count,
group_concat( expr1 separator ' ' ) Expr1
from table_name
group by 1, 2, 3, 4, 5 -- positions of columns in the select
{{1}}