[英]Select value where max(date)
我有一個數據集,其中包含相同醫療程序的多個值。 我想選擇date_ref
最大的值,但我不知道如何做到這一點。 下面是數據集的示例
PROC_CODE | VALUE | DATE
123456 20.90 2020-01-01
123456 30.00 2021-01-01
123456 15.47 2022-06-01
我只想返回數據集的最后一行,它為最近的日期分配VALUE
PROC_CODE | VALUE | DATE
123456 15.47 2022-06-01
我嘗試了以下代碼,但它返回錯誤。 我的邏輯中缺少什么?
SELECT
PROC_CODE, VALUE
FROM MY_TABLE
WHERE MAX(DATE)
GROUP BY PROC_CODE -- Only grouping by PROC_CODE because grouping by PROC_CODE and VALUE returns the 3 lines of the dataset
您可以在 WHERE 子句中使用子查詢來執行此操作:
SELECT PROC_CODE, VALUE, DATE
FROM MY_TABLE
WHERE DATE = (SELECT MAX(DATE) FROM MY_TABLE);
如果您想要每個 proc_code 的最大日期值,那么相關子查詢也可以工作:
SELECT PROC_CODE, VALUE, DATE
FROM MY_TABLE as MT
WHERE DATE = (SELECT MAX(DATE) FROM MY_TABLE WHERE PROC_CODE = MT.PROC_CODE);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.