首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

mssql急需找到按fdate分组后fvalue排序后前10%的行

2013-08-13 
mssql需要找到按fdate分组后fvalue排序后前10%的行CREATE TABLE temp1(fID [varchar](150)not NULL,[fdate

mssql需要找到按fdate分组后fvalue排序后前10%的行
CREATE TABLE temp1(fID [varchar](150)  not NULL,
[fdate] [smalldatatime] not NULL,
[fvalue] [decimal](8, 2) NULL

需要找到按fdate分组后fvalue排序后前10%的行 ,
 mssql语句怎么写?求助 MS?SQL
[解决办法]
sql2005开始的rownumber()支持了
[解决办法]

CREATE TABLE temp1(fID [varchar](150)  not NULL,
[fdate] smalldatEtime not NULL,
[fvalue] [decimal](8, 2) NULL

INSERT TEMP1
SELECT 1, GETDATE(), 0 UNION ALL
SELECT 2, GETDATE()+2, 0 UNION ALL
SELECT 3, GETDATE()+3, 0 UNION ALL
SELECT 4, GETDATE()+4, 0 UNION ALL
SELECT 5, GETDATE()+5, 0 UNION ALL
SELECT 6, GETDATE()+6, 0 UNION ALL
SELECT 7, GETDATE()+7, 0 UNION ALL
SELECT 8, GETDATE()+8, 0 UNION ALL
SELECT 9, GETDATE()+9, 0 UNION ALL
SELECT 10, GETDATE()+10, 0

SELECT TOP(10)PERCENT*
FROM TEMP1
ORDER BY fdate

/*
fIDfdatefvalue
12013-08-11 15:18:000.00
*/

热点排行