所以任务是:找到每个等级中最年轻的水手
-
我的 table :
Sailors(sid : integer, sname : string, rating : integer, age : real)
Reserves(sid : integer, bid : integer, day : date)
Boats(bid : integer, bname : string, color : string)
-
这样的事情可能吗:
select min(age)
from sailors
where rating =(1++)
最佳答案
select rating,sid,age
from Sailors as S
where (age,rating)
in
(
select min(age),rating
from Sailors
group by rating
)
编辑:
您可以通过执行 select rating,min(age) from sailors group by rating;
来获取评级级别中的最低年龄,但您不会获得具有该最低年龄的水手的详细信息年龄..
检查这个http://sqlfiddle.com/#!9/55276/1您可以看到,对于评级 4,sid 返回为 5,而不是 8...
这是哪里http://sqlfiddle.com/#!9/55276/3正确返回 sid
关于mysql - 如何在sql查询中将搜索变量加1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29079389/