这样的语句在SQLSERVER,应该怎么写?
select '语文优秀',min(语文) from (select top 15 percent 语文 from cj order by 语文 desc)
union all
select '数学',min(数学) from (select top 15 percent 数学 from cj order by 数学 desc)
union all
select '英语',min(英语) from (select top 15 percent 英语 from cj order by 英语 desc)
union all
select '生物',min(生物) from (select top 15 percent 生物 from cj order by 生物 desc)
union all
select '政治',min(政治) from (select top 15 percent 政治 from cj order by 政治 desc)
union all
select '历史',min(历史) from (select top 15 percent 历史 from cj order by 历史 desc)
union all
select '物理',min(物理) from (select top 15 percent 物理 from cj order by 物理 desc)
union all
select '化学',min(化学) from (select top 15 percent 化学 from cj order by 化学 desc)
UNION ALL
select '总分',min(总分) from (select top 15 percent 总分 from cj order by 总分 desc)
union all
select '语文良好分',min(语文) from (select top 40 percent 语文 from cj order by 语文 desc)
union all
select '数学',min(数学) from (select top 40 percent 数学 from cj order by 数学 desc)
union all
select '英语',min(英语) from (select top 40 percent 英语 from cj order by 英语 desc)
union all
select '生物',min(生物) from (select top 40 percent 生物 from cj order by 生物 desc)
union all
select '政治',min(政治) from (select top 40 percent 政治 from cj order by 政治 desc)
union all
select '历史',min(历史) from (select top 40 percent 历史 from cj order by 历史 desc)
union all
select '物理',min(物理) from (select top 40 percent 物理 from cj order by 物理 desc)
union all
select '化学',min(化学) from (select top 40 percent 化学 from cj order by 化学 desc)
UNION ALL
select '总分',min(总分) from (select top 40 percent 总分 from cj order by 总分 desc)
union all
select '语文及格分',min(语文) from (select top 60 percent 语文 from cj order by 语文 desc)
union all
select '数学',min(数学) from (select top 60 percent 数学 from cj order by 数学 desc)
union all
select '英语',min(英语) from (select top 60 percent 英语 from cj order by 英语 desc)
union all
select '生物',min(生物) from (select top 60 percent 生物 from cj order by 生物 desc)
union all
select '政治',min(政治) from (select top 60 percent 政治 from cj order by 政治 desc)
union all
select '历史',min(历史) from (select top 60 percent 历史 from cj order by 历史 desc)
union all
select '物理',min(物理) from (select top 60 percent 物理 from cj order by 物理 desc)
union all
select '化学',min(化学) from (select top 60 percent 化学 from cj order by 化学 desc)
UNION ALL select '总分',min(总分) from (select top 60 percent 总分 from cj order by 总分 desc);
以上代码在ACCESS中,可以正常查询。在sqlserver中,应该怎么修改呢?
[最优解释]
SELECT '语文优秀' [状态],
MIN(语文)[学科]
FROM ( SELECT TOP 15 PERCENT
语文
FROM cj
ORDER BY 语文 DESC
)a
UNION ALL
SELECT '数学' ,
MIN(数学)
FROM ( SELECT TOP 15 PERCENT
数学
FROM cj
ORDER BY 数学 DESC
)b
UNION ALL
SELECT '英语' ,
MIN(英语)
FROM ( SELECT TOP 15 PERCENT
英语
FROM cj
ORDER BY 英语 DESC
)c
UNION ALL
SELECT '生物' ,
MIN(生物)
FROM ( SELECT TOP 15 PERCENT
生物
FROM cj
ORDER BY 生物 DESC
)d
UNION ALL
SELECT '政治' ,
MIN(政治)
FROM ( SELECT TOP 15 PERCENT
政治
FROM cj
ORDER BY 政治 DESC
)e
UNION ALL
SELECT '历史' ,
MIN(历史)
FROM ( SELECT TOP 15 PERCENT
历史
FROM cj
ORDER BY 历史 DESC
)f
UNION ALL
SELECT '物理' ,
MIN(物理)
FROM ( SELECT TOP 15 PERCENT
物理
FROM cj
ORDER BY 物理 DESC
)g
UNION ALL
SELECT '化学' ,
MIN(化学)
FROM ( SELECT TOP 15 PERCENT
化学
FROM cj
ORDER BY 化学 DESC
)h
UNION ALL
SELECT '总分' ,
MIN(总分)
FROM ( SELECT TOP 15 PERCENT
总分
FROM cj
ORDER BY 总分 DESC
)j
UNION ALL
SELECT '语文良好分' ,
MIN(语文)
FROM ( SELECT TOP 40 PERCENT
语文
FROM cj
ORDER BY 语文 DESC
)k
UNION ALL
SELECT '数学' ,
MIN(数学)
FROM ( SELECT TOP 40 PERCENT
数学
FROM cj
ORDER BY 数学 DESC
)l
UNION ALL
SELECT '英语' ,
MIN(英语)
FROM ( SELECT TOP 40 PERCENT
英语
FROM cj
ORDER BY 英语 DESC
)m
UNION ALL
SELECT '生物' ,
MIN(生物)
FROM ( SELECT TOP 40 PERCENT
生物
FROM cj
ORDER BY 生物 DESC
)n
UNION ALL
SELECT '政治' ,
MIN(政治)
FROM ( SELECT TOP 40 PERCENT
政治
FROM cj
ORDER BY 政治 DESC
)o
UNION ALL
SELECT '历史' ,
MIN(历史)
FROM ( SELECT TOP 40 PERCENT
历史
FROM cj
ORDER BY 历史 DESC
)p
UNION ALL
SELECT '物理' ,
MIN(物理)
FROM ( SELECT TOP 40 PERCENT
物理
FROM cj
ORDER BY 物理 DESC
)q
UNION ALL
SELECT '化学' ,
MIN(化学)
FROM ( SELECT TOP 40 PERCENT
化学
FROM cj
ORDER BY 化学 DESC
)r
UNION ALL
SELECT '总分' ,
MIN(总分)
FROM ( SELECT TOP 40 PERCENT
总分
FROM cj
ORDER BY 总分 DESC
)s
UNION ALL
SELECT '语文及格分' ,
MIN(语文)
FROM ( SELECT TOP 60 PERCENT
语文
FROM cj
ORDER BY 语文 DESC
)t
UNION ALL
SELECT '数学' ,
MIN(数学)
FROM ( SELECT TOP 60 PERCENT
数学
FROM cj
ORDER BY 数学 DESC
)u
UNION ALL
SELECT '英语' ,
MIN(英语)
FROM ( SELECT TOP 60 PERCENT
英语
FROM cj
ORDER BY 英语 DESC
)v
UNION ALL
SELECT '生物' ,
MIN(生物)
FROM ( SELECT TOP 60 PERCENT
生物
FROM cj
ORDER BY 生物 DESC
)w
UNION ALL
SELECT '政治' ,
MIN(政治)
FROM ( SELECT TOP 60 PERCENT
政治
FROM cj
ORDER BY 政治 DESC
)y
UNION ALL
SELECT '历史' ,
MIN(历史)
FROM ( SELECT TOP 60 PERCENT
历史
FROM cj
ORDER BY 历史 DESC
)z
UNION ALL
SELECT '物理' ,
MIN(物理)
FROM ( SELECT TOP 60 PERCENT
物理
FROM cj
ORDER BY 物理 DESC
)aa
UNION ALL
SELECT '化学' ,
MIN(化学)
FROM ( SELECT TOP 60 PERCENT
化学
FROM cj
ORDER BY 化学 DESC
)bb
UNION ALL
SELECT '总分' ,
MIN(总分)
FROM ( SELECT TOP 60 PERCENT
总分
FROM cj
ORDER BY 总分 DESC
) cc