面试题目,求答案

feng3000 2013-03-16 10:34:56
题1:如下表1所示,如何用SQL语句选取次最大值(指数量字段)的记录?
表1:
表名:TableA
客户 数量
A01 2000
A05 4000
A08 2500
A09 4800
A10 3800
A30 4500
A45 8990

题2:依据表1,如何将数量字段直接输出以下字串。
2000,4000,2500,4800,3800,4500,8990

题3:依据题2输出的字串2000,4000,2500,4800,3800,4500,8990,如何将其还原为行记录,如下表:
字段
2000
4000
2500
4800
3800
8990

题4:依据表1,如何输出数量名次表,要求达到以下要求(分别使用存储过程和函数输出结果,列出两种方法)
次序 客户 数量
1 A45 8990
2 A09 4800
3 A30 4500
4 A05 4000
5 A10 3800
6 A08 2500
7 A01 2000


...全文
90 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
--1
select max(数量) from tablea
--2
select stuff((select ','+rtrim(数量) from tablea for xml path('')),1,1,'')
--3
declare @str varchar(100)
set @str='2000,4000,2500,4800,3800,4500,8990'
select substring(stuff(','+@str+',',1,number,''),1,charindex(',',stuff(','+@str+',',1,number,''))-1) from master..spt_values where type='p' and number between 1 and len(@str)+1 and substring(','+@str+',',number,1)=','
--4
select 次序=row_number()over(order by getdate()),* from tablea
feng3000 2013-03-17
  • 打赏
  • 举报
回复
这些题目都是在MSSERVER下运行的,有人知道吗?

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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