mysql - 如何在sql查询中将搜索变量加1

标签 mysql sql

所以任务是:找到每个等级中最年轻的水手

-

我的 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/

相关文章:

javascript - 防止 JavaScript/Node.js 中的 SQL 注入(inject)

mysql - 在 MySQL 数据库 : Hash vs Encryption? 上存储密码

mysql - 如何在数据库设计中对属性单元建模?

php - 寻找我的数组以表格格式显示结果

mysql - 显示没有计数/零的结果

mysql - SQL 按不同值排序

sql - 为什么这个 MySQL 函数返回 null?

mysql - 如何改进 insert into select 等待表行为

php - 通过 foreach 循环时插入额外的行

sql - 在 where 子句中使用逗号分隔值并与 in 子句进行比较