求 sql 写法

图片描述

SELECT `comment_id`,`type` FROM `t_report_comment`;

查询结果如图。

有没有办法实现这样的效果?比如commend_id列值为104的,type可能的值有1和2,那么把不重复的comment_id作为一列,把type可能的取值逗号隔开作为第二列。

现在是通过查询很多次的方式实现,好奇有没有神奇的mysql语句能够一条sql搞定?

阅读 2.6k
4 个回答
SELECT comment_id, GROUP_CONCAT(type) as ids FROM t_report_comment GROUP BY comment_id

一楼的答案就OK了

SELECT comment_id,GROUP_CONCAT(DISTINCT(type)) as type FROM t_report_comment GROUP BY comment_id;

再加个distinct去重就更好了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题