表t中有如下字段及记录:
date                       data
20100219                   12
20100419                   17
20100319                   14
通过选取后得到如下数据:
date                       data
20100219                   12
20100319                   14已知条件是:
开始日期(begin):20100219    结束日期(end):20100320
问题是:
我想取出两条记录(如果存在),一条是>=20100219,另外一条是<=20100320,如果用一条select语句实现?

解决方案 »

  1.   

    select * from t where date between 20100219 and 20100320
      

  2.   

    当您的问题得到解答后请及时结贴.
    http://topic.csdn.net/u/20090501/15/7548d251-aec2-4975-a9bf-ca09a5551ba5.html
    http://topic.csdn.net/u/20100428/09/BC9E0908-F250-42A6-8765-B50A82FE186A.html
      

  3.   

    date     data
    20100219 12
    20100419 17
    20100319 14
    20100318 14
    像这样你就会选出三条来,但是我只想两条.
      

  4.   

    select * from t where date between 20100219 and 20100320 limit 2
    举例也是一种学问!
      

  5.   

    date data
    20100219 12
    20100419 17
    20100319 14
    20100318 14
    我想得到如下结果:
    date data
    20100219 12
    20100319 14
    已知条件是:
    开始日期(begin):20100219 结束日期(end):20100320
    问题是:
    我想取出两条记录(如果存在),一条是>=20100219,另外一条是<=20100320,如果用一条select语句实现?
      

  6.   

    select * from t where date between 20100219 and 20100320 limit 2这个不行吗?
      

  7.   

    20100219和20100320之前现在有两条记录啊?你这样会不会不是我要的结果.会不会你的结果是
    date data
    20100219 12
    20100318 14而不是
    20100219 12
    20100319 14
      

  8.   

    (select * from t where date>=20100219 limit 1)
    union
    (select * from t where date<=20100320 limit 1) (不要高估你的汉语表达能力或者我的汉语理解能力)
      

  9.   

    是不是还要加入排序?测试过,如果数据库默认是这样放数据的:
    date data
    20100419 17
    20100319 14
    20100318 14
    20100219 12
    那出来的结果是:
    20100419 17
    20100319 14
      

  10.   

    (select * from t where date>=20100219 order by date limit 1)
    union
    (select * from t where date<=20100320 order by date desc limit 1)