繁体   English   中英

找到正确的 SQL 查询

[英]finding the correct SQL-query

我对 SQL 有一些问题(我真的很擅长),也许有人可以帮助我找到正确的命令。

表名是结束日期与下列属性

ID int
old_end_date date
name varchar

我试图通过名称获取表中的最后一个旧日期

我试过这个:

SELECT old_end_date from enddate WHERE id=(SELECT max(id) FROM enddate)

但它没有按名称过滤..

先感谢您 :)

这是一种方法,也是最简单的方法。 这样你就不需要窗口函数:

select * 
from enddate
where name = 'hello'
order by old_end_date desc
limit 1;

在 mysql 8 中

你可以做 ROW_NUMBER

SELECT * from ( 
   SELECT * , ROW_NUMBER() OVER (PARTITION BY name ORDER BY old_end_date desc) rn 
   from enddate
) t
WHERE rn = 1 AND name = "hello"

如果你只想要一个名字

SELECT * 
FROM enddate
WHERE name = "hello"
ORDER BY old_end_date DESC
LIMIT 1;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM