【问题标题】:Get rows based on max date and other filters from the table根据表中的最大日期和其他过滤器获取行
【发布时间】:2022-11-26 20:59:40
【问题描述】:

我正在使用表中的两个文件管理器来获取数据,我得到两行,我需要从中选择具有最大日期的行。任何人都可以建议更好的方法来获得它,因为我没有从下面得到任何结果


SELECT inv,account,activity,seq,st_date,open_amt,State,activity_date 
FROM table
WHERE inv = 'test_inv'
AND State = 'issued'
AND activity_date = (select MAX (activity_date) FROM table)

【问题讨论】:

  • 子查询中的 MAX(activity_date) 也应该取决于 invState 的值。现在您将获得完整表格的最大日期,该表格可能不存在于所选发票中。

标签: sql


【解决方案1】:

你想要最大日期只要符合条件的行,您需要关联子查询:

SELECT inv, account, activity, seq, st_date ,open_amt, State, activity_date 
FROM table t
WHERE inv = 'test_inv'
AND State = 'issued'
AND activity_date = (
  SELECT MAX (activity_date) 
  FROM table t2
  WHERE t2.inv = t.inv AND t2.State = t.State
);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-01-21
    • 2020-08-12
    • 1970-01-01
    • 1970-01-01
    • 2019-05-29
    • 1970-01-01
    • 1970-01-01
    • 2020-04-29
    相关资源
    最近更新 更多