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

时间:2014-04-22 15:23:49

标签: mysql select

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

enter image description here

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

2 个答案:

答案 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 byselect

中选择的列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}}