簡體   English   中英

Select 使用 SQL 查詢的列中的最新年份

[英]Select the latest year in a column using SQL query

我有一個這樣的 dataframe

價值。 日期
一種 08/08/2009
一種 2021 年 9 月 12 日
一種 05/10/2022
一種 06/09/2022
一種 07/08/2022

我需要 output 喜歡

價值 日期
一種 05/10/2022
一種 06/09/2022
一種 07/08/2022

我們必須打印日期列中所有月份數據的最新年份。請參考 output 表。

我使用了 SQL 查詢

Select 前 10 * 來自按(日期)DESC 排序的表;

max() select 只有一個日期所以對我沒有幫助

但沒有得到預期的答復。 有人可以幫我查詢嗎?

您可以在子查詢中使用MAX ,這將產生您在問題中顯示的預期結果:

SELECT yourcolumn
FROM yourtable
WHERE 
YEAR(yourcolumn) = (SELECT MAX(YEAR(yourcolumn)) FROM yourtable);

最近的年份是 2022 年,因此子查詢中的MAX將找到今年,整個查詢將 select 所有日期都在 2022 年。

SELECT *
FROM tablename
WHERE datecolumn >= (SELECT DATE_FORMAT(MAX(datecolumn), '%Y-01-01')
                     FROM tablename)

要改進此查詢,您需要按datecolumn列(或此列是表達式前綴的位置)建立索引。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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