比如我要得到语文80分的人
select * from table a where a.yuwen=80
但是如果很多人语文80分,我只要第一个数据,sql怎么写?谢谢

解决方案 »

  1.   

    SELECT * FROM table a WHERE a.yuwen = 80 AND rownum < 2;
      

  2.   

    select a.* from
    (
      select a.*,row_number() over(partition by yuwen order by id) rn from table a   where     a.yuwen=80 )
    where rn=1
      

  3.   

    我也放一个
    select * from (SELECT * FROM table a WHERE a.yuwen = 80 order by dbms_random.value) where rownum <= 1;
      

  4.   

    select * from table a where a.yuwen=80 and rownum=1;
      

  5.   

    select * from 
    (SELECT * FROM table a WHERE a.yuwen = 80) a
    where  rownum =1;
      

  6.   

    SELECT * FROM TABLE A WHERE A.YUWEN=80 AND ROWNUM=1;
      

  7.   

    select * from table a where a.yuwen=80 and rownum <2; 
      

  8.   

    select top 1 * from table a where a.yuwen=80