SQL 查询每个人离指定时间最后一次消费的记录

SQL 查询离指定时间最后一次消费的记录。

表名TABLE 列名 id,name,time(消费的时间),price
查询每个人指定时间的最后一次消费记录。在线等。回答正确再加分。

假设NAME是能够唯一确定某人关键字,(如果是ID,NAME换成ID即可),@ENDTIME为统计截止日期。
则每个人(NAME)在@ENDTIME之前最后消费记录为:

select * from TABLE,(SELECT NAME as name1,MAX(TIME) as TIME1 FROM TABLE where Time<=@ENDTIME GROUP BY name) a
where name=name1 and time=time1
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-19
select id,name,price,max(time) from table
where time --填写指定时间的条件。
group by id,name,price
第2个回答  2013-03-19
select * from TABLE where time <= 指定时间 order by time desc limit 1追问

limit 1 语法错误。

追答

什么数据库?

第3个回答  推荐于2018-03-15
select * from tb a where time=

(select max(time) from tb where a.name=name and time<@time)本回答被提问者和网友采纳
第4个回答  2013-03-19
select a.* from table a
where exists
(select 1 from
(select name,max(time) as time from table where time<指定time group by name) b
where a.name=b.name and a.time=b.time)
相似回答