SQL中text数据的group By问题处理

SQL中text数据的group By问题处理

五月 30, 2019 (Updated: )

text数据存在于group by命令里时的错误

大多数SQL的group by命令都不支持text格式的数据在其中。
如下:
任务要求是:查询所有部门详细信息和部门人数
需要用到俩个表格建立连接并分组
两个表格为:
Department,Employee
在这里插入图片描述
在这里插入图片描述
其中的NoteTEXT类型的数据

一般处理应该是:

1
2
3
4
5
6
7
8
SELECT
a.*,count(b.DepartmentID)
FROM
Department a,Employee b
WHERE
a.DepartmentID=b.DepartmentID
group by
a.DepartmentID,DepartmentName,Note;

但是因为text 数据的存在,会报如下错误:
在这里插入图片描述

使用视图的解决方法

所以我们先把其他分组的数据保存在一个视图中,之后再用一个select来调用,命令如下:

1
2
3
4
5
6
7
8
9
10
//建立视图
create view YYY
as select
a.DepartmentID,a.DepartmentName,count(b.DepartmentID) as '人数'
from
Department a,Employee b
where
a.DepartmentID=b.DepartmentID
group by
a.DepartmentID,a.DepartmentName;
1
2
3
4
5
6
7
//开始查询
select
YYY.*,A.Note
from
YYY,Department A
where
YYY.DepartmentID=A.DepartmentID;

结果如下:
在这里插入图片描述

隐藏