代码之家  ›  专栏  ›  技术社区  ›  Natkeeran

sql-选择最大id的字段

  •  0
  • Natkeeran  · 技术社区  · 15 年前

    需要选择最后一个invoiceid和相应的字段。整个sql包含几个内部连接。

    SELECT max(InvoiceID), 
           InvoiceEndDate 
      FROM Invoices 
     WHERE TransactionOrderItemID = '000831'
    

    现在,我正在获取invoiceid,必须再次获取invoiceenddate。

    有没有一种有效的方法来做这件事?

    3 回复  |  直到 15 年前
        1
  •  4
  •   Ivan Nevostruev    15 年前
    SELECT InvoiceID, InvoiceEndDate 
    FROM Invoices 
    WHERE TransactionOrderItemID='000831'
    ORDER BY InvoiceID DESC
    LIMIT 1
    
        2
  •  0
  •   FelixM    15 年前
    SELECT InvoiceID, InvoiceEndDate 
    FROM Invoices INV
    WHERE TransactionOrderItemID='000831'
      AND INV.InvoiceID = (SELECT MAX(SUB.InvoiceID)
        FROM Invoices SUB WHERE SUB.TransactionOrderItemID='000831');
    
        3
  •  0
  •   SQLMenace    15 年前

    看一看 Including an Aggregated Column's Related Values 有几种方法可以做到这一点