开发者社区 问答 正文

SQL按最近日期选择行

使用以下查询和结果,我正在寻找ChargeId和ChargeType唯一的最新条目。

select chargeId, chargeType, serviceMonth from invoice

CHARGEID    CHARGETYPE  SERVICEMONTH

1 101 R 8/1/2008 2 161 N 2/1/2008 3 101 R 2/1/2008 4 101 R 3/1/2008 5 101 R 4/1/2008 6 101 R 5/1/2008 7 101 R 6/1/2008 8 101 R 7/1/2008 期望的:

CHARGEID    CHARGETYPE  SERVICEMONTH

1 101 R 8/1/2008 2 161 N 2/1/2008

问题来源于stack overflow

展开
收起
保持可爱mmm 2019-11-18 15:53:48 334 分享 版权
1 条回答
写回答
取消 提交回答
  • 您可以使用GROUP BY按类型和ID对项目进行分组。然后,您可以使用MAX()聚合函数来获取最近的服务月份。以下返回带有ChargeId,ChargeType和MostRecentServiceMonth的结果集

    SELECT CHARGEID, CHARGETYPE, MAX(SERVICEMONTH) AS "MostRecentServiceMonth" FROM INVOICE GROUP BY CHARGEID, CHARGETYPE

    2019-11-18 15:53:55
    赞同 展开评论
问答分类:
SQL
问答标签:
问答地址: