select
产品编号,规格型号,
最低价一=max(case num when 1 then 价格 end),
最低价二=max(case num when 2 then 价格 end),
最低价三=max(case num when 3 then 价格 end)
from
(select t.*,(select count(1) from 表 where 产品编号=t.产品编号 and 规格型号=t.规格型号 and 价格<=t.价格) as num from 表 t) a
group by
产品编号,规格型号
产品编号,规格型号,
最低价一=max(case num when 1 then 价格 end),
最低价二=max(case num when 2 then 价格 end),
最低价三=max(case num when 3 then 价格 end)
from
(select t.*,(select count(1) from 表 where 产品编号=t.产品编号 and 规格型号=t.规格型号 and 价格<=t.价格) as num from 表 t) a
group by
产品编号,规格型号
解决方案 »
- 求助:Sql Server存储过程脚本转换成Sybase、Oracle存储过程脚本,谢谢。
- 早上好,再问一个问题,SQL2005,2008中有多少种发送邮件的方法?
- 同时访问SQL Server服务器有限制吗?
- Microsoft SQL Server 2008 R2装上后只有导入导出数据和配置工具
- 请教——如何替换某个字段中的各个字符???
- 远程数据库的问题
- 奇怪的问题:我的SQL Server 2000 以前建的表可以增删改(用VB访问),现在建的表用同样的方法却不能?Why?请赐教,谢谢!
- 寻找SQL SERVER的系统存储过程?
- 存储过程的问题。。。。。
- 请问在哪里可以下载到关于SQL Server2000的书籍
- SQLserver2000数据库问题
- sqlserver+asp的链接问题
max(case px when 1 then 价格 else 0 end) 最低价一,
max(case px when 2 then 价格 else 0 end) 最低价二,
max(case px when 3 then 价格 else 0 end) 最低价三
from
(
select t.* , px = ROW_NUMBER() OVER(partition by 产品编号,规格型号 ORDER BY 价格) from tb t
) m
group by 产品编号,规格型号