-2

我是 SQL 新手。试图从表中获取工作的特定日期。获得这些日期的唯一方法是查看一个巨大的表格,其中每个作业的每个项目都存储有最后一个交易日期。我想要的日期是每个作业的 lst_trx_date 列中的最大日期。

表中的数据如下所示: 数据表图像

每个工作都有不同数量的项目。我最大的障碍和主要问题:我怎样才能不选择整个工作表,而只为每个工作选择最大的 lst_trx_date?我最初使用 microsoft query 引入数据,但我意识到我的请求可能需要直接修改 SQL 命令文本。

4

3 回答 3

0

试试这样的..这会给你最大日期

SELECT MAX (lst_trx_date) AS "Max Date" 
FROM table where job = 1234;
于 2019-12-19T16:35:36.887 回答
0

要获取每个作业的最新日期,您可以使用窗口函数。例如尝试:

    select job, item, lst_trx_date from (select job, item, lst_trx_date, row_number() 
                                         over(partition by stat,job,item order by 
                                         lst_trx_date desc) rn
                                        from <table>)t
    where rn = 1
于 2019-12-19T16:38:16.107 回答
-1

我想应该是这样的:

SELECT job, MAX(lst_trx_date) as job, last_transaction_date
FROM table
GROUP BY job
ORDER BY lst_trx_date DESC
于 2019-12-19T16:37:24.790 回答