select 姓名
,语文,名次1=(select count(distinct 语文) from Base where 语文>=a.语文)
,数学,名次2=(select count(distinct 数学) from Base where 数学>=a.数学)
,物理,名次3=(select count(distinct 物理) from Base where 物理>=a.物理)
from Base
order by 名次1
,语文,名次1=(select count(distinct 语文) from Base where 语文>=a.语文)
,数学,名次2=(select count(distinct 数学) from Base where 数学>=a.数学)
,物理,名次3=(select count(distinct 物理) from Base where 物理>=a.物理)
from Base
order by 名次1
解决方案 »
- 数据库 '***' 的事务日志已满。若要查明无法重用日志中的空间的原因,请参阅 sys.databases 中的 log_reuse_wai
- 关系图对性能有没有影响?
- 如何新增一字段并附值?谢谢各位大哥
- 查询语句中的索引作用
- 求SQL语句
- 有什么办法能捕获到某个实例中所有各连接的错误?
- 连接SQL Server 2008(64bit)报错([DBNMPNTW]Connection is busy.)
- ◎【select问题,条件中要在value到某定值时停下来】◎
- 有什么存储过程可以检查SQL 的语法,而不要执行这个语句?
- sql server 無法運行
- 統計查詢遇到的問題!
- order by能不能自己指定排序方法
select 姓名
,语文,名次1=(select count(distinct 语文) from Base where 语文>=a.语文)
,数学,名次2=(select count(distinct 数学) from Base where 数学>=a.数学)
,物理,名次3=(select count(distinct 物理) from Base where 物理>=a.物理)
from Base a --漏写了别名
order by 名次1
create table Base(姓名 varchar(10),语文 int,数学 int,物理 int)
insert Base select '张三',80,75,82
union all select '李四',85,76,67
union all select '王五',74,92,79
union all select '赵六',88,88,88
go--查询
select 姓名
,语文,名次1=(select count(distinct 语文) from Base where 语文>=a.语文)
,数学,名次2=(select count(distinct 数学) from Base where 数学>=a.数学)
,物理,名次3=(select count(distinct 物理) from Base where 物理>=a.物理)
from Base a
order by 名次1
go--删除测试
drop table Base /*--测试结果姓名 语文 名次1 数学 名次2 物理 名次3
------ ----- ----- ----- ---- ------ -----
赵六 88 1 88 2 88 1
李四 85 2 76 3 67 4
张三 80 3 75 4 82 2
王五 74 4 92 1 79 3(所影响的行数为 4 行)
--*/
create table Base(姓名 varchar(10),语文 int,数学 int,物理 int)
insert Base select '张三',80,75,82
union all select '李四',80,76,67
union all select '王五',74,92,67
union all select '赵六',88,92,88
go--查询
select 姓名
,语文,名次1=(select count(语文) from Base where 语文>a.语文)+1
,数学,名次2=(select count(数学) from Base where 数学>a.数学)+1
,物理,名次3=(select count(物理) from Base where 物理>a.物理)+1
from Base a
order by 名次1
go--删除测试
drop table Base /*--测试结果姓名 语文 名次1 数学 名次2 物理 名次3
----- ------ ----- ----- ----- ----- -------
赵六 88 1 92 1 88 1
张三 80 2 75 4 82 2
李四 80 2 76 3 67 3
王五 74 4 92 1 67 3(所影响的行数为 4 行)
--*/