weixin_44292732
2020-03-16 09:38
采纳率: 0%
浏览 426

急求,停车记录表,要根据日期和车牌号分组,取每辆车每天的最后一条记录,怎么写查询语句?Oracle的数据库。求大佬解答下

如题,以结束时间为准,取当天最后一条记录,日期格式是2020-01-01 10:00:00这样的,怎么写查询语句?求大佬解答下
表结构如下
表名:PARKING
字段:ID 主键
CARNO 车牌号
AFFILIATION 组织机构
STARTTIME 开始时间
ENDTIME 结束时间
ADDRESS 停车地点

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 陈年椰子 2020-03-16 09:50

    这样试试

    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 吧?

    评论
    解决 无用
    打赏 举报
  • 聆音天涯 2020-03-16 15:42
    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
    

    大概思路

    评论
    解决 无用
    打赏 举报
  • weixin_42632763 2020-03-18 16:34

    select * from (
    select a.*,
    row_number() over(partition by trunc(a.ENDTIME) order by a.ENDTIME desc) num
    from PARKING a
    ) where num=1

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题