簡體   English   中英

選擇最大值(日期)的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM