SQL:为每个类别选择最近的日期

我从数据库提取数据,其中一个表包含两个列,它们一起标识位置,另一列包含每次服务时的日期.是否可以编写一个SQL查询,以便我得到每个位置服务的最近时间?

所以如果我的原始数据如下所示:

category_a  category_b  date
       1           a     1/1/01
       1           a     2/2/02
       1           b     1/2/01
       1           b     2/3/02
       2           a     1/3/01
       2           a     2/4/02
       2           b     1/4/01
       2           b     2/5/02

那么查询将返回:

category_a  category_b  date
       1           a     2/2/02
       1           b     2/3/02
       2           a     2/4/02
       2           b     2/5/02

如果数据库的创作方式使得类别组合存储在单独的表中,这将很容易做到.但是,我不管这个数据库,所以我不能修改它.

解决方法

SELECT
    category_a,category_b,MAX(date)
FROM
    Some_Unnamed_Table
GROUP BY
    category_a,category_b
ORDER BY
    category_a,category_b

我当然不介意帮助人们,或者我不会在这个网站上,但你真的是在发布之前搜索一个答案?

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...