分组统计问题,谢谢

jhtchina 2007-08-17 08:40:32
HY HU
1 A
2 B
1 C
3 D

需要结果:
HY HU
1 A,C
2 B
3 D
...全文
176 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jhtchina 2007-08-17
  • 打赏
  • 举报
回复
OK
问题解决
加上
dbo.
jhtchina 2007-08-17
  • 打赏
  • 举报
回复
为什么不认识函数名呢?
jhtchina 2007-08-17
  • 打赏
  • 举报
回复
如下是错误提示
服务器: 消息 195,级别 15,状态 10,行 1
'fn_Merge' 不是可以识别的 函数名。
OracleRoob 2007-08-17
  • 打赏
  • 举报
回复
--道理是一样的。




create table tb(HY varchar(10),HU varchar(100))
go
insert into tb
select 1,'A' union all
select 2,'B' union all
select 1,'C' union all
select 3,'D'
go
--写一个聚合函数:
create function dbo.fn_Merge(@HY int)
returns varchar(8000)
as
begin
declare @r varchar(8000)
set @r=''
select @r=@r+','+HU from tb where HY=@HY
return stuff(@r,1,1,'')
end
go

-- 调用函数
select HY, dbo.fn_Merge(HY) as HU from tb group by HY

go
drop table tb
drop function dbo.fn_Merge

jhtchina 2007-08-17
  • 打赏
  • 举报
回复
如下是错误提示
服务器: 消息 195,级别 15,状态 10,行 1
'fn_Merge' 不是可以识别的 函数名。
jhtchina 2007-08-17
  • 打赏
  • 举报
回复
HY HU
1 A
2 B
1 C
3 D

需要结果:
HY HU
1 A,C
2 B
3 D


这里HY 字段不是int 是nvarchar
OracleRoob 2007-08-17
  • 打赏
  • 举报
回复
以上是添加了一个自定义函数。

还可以使用游标处理。

但是使用自定义函数比较简单。
jhtchina 2007-08-17
  • 打赏
  • 举报
回复
有没有简单一些的办法?
谢谢啊
OracleRoob 2007-08-17
  • 打赏
  • 举报
回复


create table tb(HY int,HU varchar(100))
go
insert into tb
select 1,'A' union all
select 2,'B' union all
select 1,'C' union all
select 3,'D'
go
--写一个聚合函数:
create function dbo.fn_Merge(@HY int)
returns varchar(8000)
as
begin
declare @r varchar(8000)
set @r=''
select @r=@r+','+HU from tb where HY=@HY
return stuff(@r,1,1,'')
end
go

-- 调用函数
select HY, dbo.fn_Merge(HY) as HU from tb group by HY

go
drop table tb
drop function fn_Merge
SQL2012软件简介 SQL查询器流传着很多软件,但相信此软件会有它的特别之处,本软件是经多名工程师测试。功能以及效率是有见证。本软件体积优势非常轻巧功能强大,1.4M的大小携带方便。如有建议请发邮件到75934092@qq.com,谢谢你的宝贵建议。话不多说,请看以下功能介绍! 特色功能: (一) 线程查询数据,可看查询结果完成的进度。 (二) 语句编辑强大的语法自动填充功能,可快速填充表或字段 (三) EXCEL导出后台完成。可选中语句导出EXCEL内容! V1.0.0.138 本版本调整了: 1. 汇总后,表头分组统计选择字段显示不正常 2. 汇总后,复制列名时复制不正常 3. 拖动语句编辑时,字体错位的问题 4. TOP查询时,进度不正确 5. 关联查询行数错误的问题 6. 数据库选项的排序问题 7. 临时记录的打开按钮位置 新增功能: 1. 界面大量调整把所有右击出来的菜单都显示在对应的功能位置上,操作上来更新顺手 2. 高级查询的窗口全部显示置前,整理排序窗口 3. 主查询窗口的求和功能和排序功能 4. 高级查询加入,可筛选,可分组统计。可汇总 5. 语句编辑框中直接导出查询结果到EXCEL 一、主功能概述 1.shift+空格 内容自动填充 2.预计表总记录数 3.预计表前N行记录 4.生成表字段以豆号分割 字段1,字段2.... 可自定义换行数量 5.显示表的详细信息,字段长度。可直接在查询结果中显示。 6.对查询内容导出EXCEL,高级结果可快速导出。后台处理不会卡程序。在导出大量的数据时可以操作其他操作。软件在导出完成后会检查EXCEL的行数完整性。可以EXCEL信息中查阅。 7.高级结果可拖放分组统计内容 8.对查询结果生成插入语句。可方便夸平台的数据插入 9.查询结果中快速定位查找内容字段位置,可模糊查找 10.可执行存储过程。执行过程中会在对应的GO中报错。可以得知是那行的错误 11.ctrl+1~5 的快捷语句记录。在使用过程中可以按对应的快捷键,在语句编号窗口中插入。临时代码记录10条。可方便用户临时记录编号语句。 12.直接对内容生成IN语句方便查询。 13.快速查询数据库中的表信息,快速查询对应的的字段,可直接筛选想要的字段内容。此功能可让使用者快速知道对应的字段类型! 14.可直接对字段列表的字段进行操作。插入,修改,删除!! 15.查询结果可以直接显示数据库的二进制图片内容 16.排量更新后台,此功能可以对当你手上有大量后台的时候不需要一个个去打开执行,只需要插入到软件的批量更新窗口中执行。执行成功会OK,编辑后再执行,直到全部OK。Ok过的不需重量执行放心! 17.文件传送。可以利用这软件传送文件。如果两个软件连到同一个SQL服务器上。此两个电脑可以互传文件了! 18.EXCEL导入数据库。可以把对应的EXCEL导入到数据库中。EXCEL头为列名。表名定义 19.远程复制,粘贴文件! 20.SQL中实用的语句帮助文档! 二、辅助功能 1.对IP或域名进行端口测试 2.获取当前外网IP地址 3.直接远程连接当前连接IP 4.网整测试当前连接的情况 注:本软件使用次数为10次,因本软件需要大家的建议。功能还在继续完善中,所以免费取得注册码!需要请发邮件或加QQ联系作者。多谢大家的支持! 联系方式:75934092@qq.com 或可直接加QQ:75934092 510567321

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧