实现这样目的的sql语句应该如何写?

来源:百度知道 编辑:UC知道 时间:2024/06/06 18:21:25
我想查询某一字段有数值(不为空)条件下的最近时间的值。
比如:字段zd 在今天、昨天都没有数值。但是昨天有数值,那么就取昨天zd的数值。如果今天有数值,那么取今天zd的数值。总之先看时间,从今天开始,先看今天,没有数值再看昨天、前天……直到有数值为值。然后把该数值取出来。
请问这条sql语句应该如何来写?
不好意思。打错了。“但是昨天有数值,那么就取昨天zd的数值。”应该为“但是前天有数值,那么就取前天zd的数值。”
"keen"的回答能不能再全面一些
“xiangxiaohang”的语句中是 select * 我要的不是记录。是值。应该是select zd……
你们俩的答案能不能再整合一下。
同时感谢“leidajin”和“parapala”的回答。我用的不是mysql数据库。你们也可以帮我整合一下它们俩的答案。只要测试通过就行。

select top1 zd from tabel where date is not null order by date desc
或者
select top1 zd from tabel where date <>'' order by date desc

注:tabel为您所要查询的表,date 为时间字段
取出一行和取出一个值是一样的呀,只要把*改为ZD就可以了呀

select zb from table where zb is not null order by date desc limit 1;

注:只适合在MYsql中使用!
table是填你自己的表!
date是填你自己表中时间字段名!

按照时间倒序排列
select zd from t1 order by 时间字段 desc
取一个就top 1