我是 SQL 新手。试图从表中获取工作的特定日期。获得这些日期的唯一方法是查看一个巨大的表格,其中每个作业的每个项目都存储有最后一个交易日期。我想要的日期是每个作业的 lst_trx_date 列中的最大日期。
表中的数据如下所示:
每个工作都有不同数量的项目。我最大的障碍和主要问题:我怎样才能不选择整个工作表,而只为每个工作选择最大的 lst_trx_date?我最初使用 microsoft query 引入数据,但我意识到我的请求可能需要直接修改 SQL 命令文本。
我是 SQL 新手。试图从表中获取工作的特定日期。获得这些日期的唯一方法是查看一个巨大的表格,其中每个作业的每个项目都存储有最后一个交易日期。我想要的日期是每个作业的 lst_trx_date 列中的最大日期。
表中的数据如下所示:
每个工作都有不同数量的项目。我最大的障碍和主要问题:我怎样才能不选择整个工作表,而只为每个工作选择最大的 lst_trx_date?我最初使用 microsoft query 引入数据,但我意识到我的请求可能需要直接修改 SQL 命令文本。
试试这样的..这会给你最大日期
SELECT MAX (lst_trx_date) AS "Max Date"
FROM table where job = 1234;
要获取每个作业的最新日期,您可以使用窗口函数。例如尝试:
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
我想应该是这样的:
SELECT job, MAX(lst_trx_date) as job, last_transaction_date
FROM table
GROUP BY job
ORDER BY lst_trx_date DESC