繁体   English   中英

如何在mysql中以相同的id显示一行中的多行?

[英]how to display multiple rows in one row with same id in mysql?

我在mysql中有一个视图,我想在一行中显示两个具有相同ID的行。 请看以下图片:

在此输入图像描述

请帮帮我:我想在一列中显示expr1

使用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

由于所有其他列中的数据似乎都匹配,因此按id分组可能有效。
但总是建议按照selectselect列进行group by

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM