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;
运行结果:
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;
运行结果:
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;
运行结果如下:
看起来更为友好!
还没有评论,来说两句吧...