首页 > 解决方案 > SQL 查询结果集更改列值组

问题描述

我有一个如下的 sql 查询结果

在此处输入图像描述

我需要像这样的输出

在此处输入图像描述

我们如何实现这一目标。找了半天多才找到解决办法。
谢谢

标签: sqlgroup-by

解决方案


你似乎想要:

select userid, name, coursename, applicationtype,
       (case when min(classdate) = max(classdate) then min(classdate)
             else min(classdate) || ' - ' || max(classdate)
        end) as classdate
from t
group by userid, name, coursename, applicationtype;

这使用标准运算符||进行字符串连接。一些数据库有自己的方法来实现这一点。


推荐阅读