如果你的level,start,end是递增的
select max(level) from table where levelId < end;
或者
select min(level) from table where levelId > end;
这个效率是很好的
在end上建立索引对查询更好

解决方案 »

  1.   

    select max(level) from table where levelId <= end;
    或者
    select min(level) from table where levelId >= start;
      

  2.   

    SELECT * FROM TT WHERE STATR<22 AND END>22
      

  3.   

    SELECT * FROM TT WHERE 22 BETWEEN `STATR` AND `END`
      

  4.   

    select level from 数据库中表格 where Start<=22 order by Start desc limit 1create index xxx on 数据库中表格(Start )
      

  5.   

    不知道楼主想要多优雅的写法。这样够不够优雅?
    select level from 表名 where start<22 and end>22