我有3列,
Firm_Name
Firm_Status
Firm_Date
表名:测试
我不确定为什么这似乎不起作用,
Select Firm_Name, Firm_Status, Max(Firm_Date)
From Test
WHERE
Firm_Status = 'Incorporated'
GROUP BY Firm_Name, Firm_Status
基本上,我想要表格中的最后一个日期,以及名称和状态。
我正在寻找每行的最大日期。有重复的公司名称。如果两行是相同的公司,并且每个行都有不同的日期,我希望最大日期以及该行中该公司的其余信息。
谢谢
答案 0 :(得分:1)
简单,便携的方式:
Select Firm_Name, Firm_Status, Firm_Date
From Test
WHERE Firm_Status = 'Incorporated'
and Firm_Date = (select Max(Firm_Date) from test
WHERE Firm_Status = 'Incorporated')
答案 1 :(得分:0)
您可以尝试以下操作:
SELECT Firm_Name, Firm_Status, Firm_Date
FROM Test
WHERE Firm_Date = (SELECT MAX(Firm_Date) FROM Test WHERE Firm_Status = 'Incorporated')
答案 2 :(得分:0)
如果您想要表格中的最后一个日期,那么最简单的方法是fetch first 1 row only
和order by
:
Select Firm_Name, Firm_Status, Firm_Date
From Test
where Firm_Status = 'Incorporated'
order by firm_date desc
fetch first 1 row only;
group by
是不必要的,甚至会分散注意力。
请注意,某些数据库会将fetch first 1 row only
拼写为limit
或select top
。