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