如题,以结束时间为准,取当天最后一条记录,日期格式是2020-01-01 10:00:00这样的,怎么写查询语句?求大佬解答下
表结构如下
表名:PARKING
字段:ID 主键
CARNO 车牌号
AFFILIATION 组织机构
STARTTIME 开始时间
ENDTIME 结束时间
ADDRESS 停车地点
这样试试
select A.p_date, P.* from PARKING P , (
select carno, to_char(endtime,'yyyymmdd') as p_date, max(endtime) as endtime
from PARKING group by carno, to_char(endtime,'yyyymmdd')
) A
where P.carno = A.carno and P.endtime = A.endtime
order by A.p_date, P.id
max(endtime) 改成 max(endtime) as endtime
是提示没有 A.endtime 吧?
SELECT
ID,
CARNO,
AFFILIATION,
MIN(STARTTIME),
DATE_FORMAT(STARTTIME, '%m-%d-%Y') AS date,
ENDTIME,
ADDRESS
FROM
PARKING
WHERE
STARTTIME <= "2020-01-01 10:00:00"
GROUP BY
date,
CARNO
大概思路
select * from (
select a.*,
row_number() over(partition by trunc(a.ENDTIME) order by a.ENDTIME desc) num
from PARKING a
) where num=1