0
点赞
收藏
分享

微信扫一扫

sql查询一个字段多列值合并为一列sql 多列合并成一列查询多列合并一列,group by合并一列查询,多列数据


1、针对1对多,查询合并多列的情况场景解决方案:

SELECT
t.news_id,
t.sentiment_label AS '情感', (
CASE WHEN t.sentiment_label=1
then '负面'
WHEN t.sentiment_label=2
then '中性'
ELSE '正面'
END
) as '情感描述'
FROM
tbm_popular_feelings t
WHERE
t.sentiment_label IS NOT NULL
AND t.create_time BETWEEN '2021-01-10 09:55:00'
AND '2021-01-14 09:55:00'
ORDER BY t.id desc;


运行结果:

sql查询一个字段多列值合并为一列sql 多列合并成一列查询多列合并一列,group by合并一列查询,多列数据_多列合并一个字段

2、合并结果,多列为一列:

运行的SQL语句:

关键字:

    GROUP_CONCAT(t.sentiment_label) AS '情感'

SELECT
t.news_id,
GROUP_CONCAT(t.sentiment_label) AS '情感'
FROM
tbm_popular_feelings t
WHERE
t.sentiment_label IS NOT NULL
AND t.create_time BETWEEN '2021-01-10 09:55:00'
AND '2021-01-14 09:55:00'
GROUP BY
t.news_id;


运行结果:

sql查询一个字段多列值合并为一列sql 多列合并成一列查询多列合并一列,group by合并一列查询,多列数据_groupby合并一列_02

3、进行编码枚举描述说明,进一步优化SQL显示结果更为友好:

SELECT
t.news_id,
GROUP_CONCAT(t.sentiment_label) AS '情感',
GROUP_CONCAT(
CASE
WHEN t.sentiment_label = 1 THEN
'负面'
WHEN t.sentiment_label = 2 THEN
'中性'
ELSE
'正面'
END
) AS '情感描述'
FROM
tbm_popular_feelings t
WHERE
t.sentiment_label IS NOT NULL
AND t.create_time BETWEEN '2021-01-10 09:55:00'
AND '2021-01-14 09:55:00'
GROUP BY
t.news_id;

运行结果如下:

看起来更为友好!

sql查询一个字段多列值合并为一列sql 多列合并成一列查询多列合并一列,group by合并一列查询,多列数据_groupby合并一列_03




举报

相关推荐

0 条评论