繁体   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