当前位置: 代码迷 >> Sql Server >> 一个人,只搜出一条信息,该怎么解决
  详细解决方案

一个人,只搜出一条信息,该怎么解决

热度:23   发布时间:2016-04-27 12:46:24.0
一个人,只搜出一条信息
学生分数表,和学生信息表,连接后,得出

科目 分数 学生ID 身高
化学 80 001 169
数学 90 001 169

假设这是一个视图(或现在的表),叫学生视图

在这个视图上搜,一个学生只显示一条结果。

在选择哪条的策略上,可以采用,找出任意一条该学生的就行。

化学 80 001 169

也可以采用,找到分数最高的一条。

数学 90 001 169

------解决方案--------------------
SQL code
SELECT * FROM 学生视图 AS TWHERE (SELECT COUNT(1) FROM 学生视图 AS B WHERE B.学生ID = T.学生ID AND B.分数 > T.分数) < 1
------解决方案--------------------
SQL code
select * from tb t where 分数=(select max(分数) from tb where 学生ID=t.学生ID)
------解决方案--------------------
SQL code
select * from tbl a where not exists(select 1 from tbl b where a.学生ID=b.学生Id and a.score<b.score)
------解决方案--------------------
探讨

感谢3位,
有没有另一种策略的,只要是该学生的,不管选哪条都行的查找法
  相关解决方案