一天

2014-02-10 62 views
0

請看看這個結果表發現最後一個記錄,我想在31-dec-2013一天

INVOICE_NUMBER INVOICE_DATE  FK_SALES_REP_ID 
519740000010026 12/31/13 10:14 AM 121 
518210000010868 12/31/13 7:34 AM 91 
519740000010050 12/31/13 2:29 PM 121 
519920000010273 12/31/13 10:25 AM 94 
514990000010269 12/31/13 10:51 AM 127 
514990000010270 12/31/13 11:09 AM 127 
505700000/31/13 12:12 PM 106 
518210000010867 12/31/13 7:24 AM 91 

結果表檢索sales_rep的最後Invoice_Number

INVOICE_NUMBER INVOICE_DATE  FK_SALES_REP_ID 
518210000010868 12/31/13 7:34 AM 91 
519920000010273 12/31/13 10:25 AM 94 
519740000010050 12/31/13 2:29 PM 121 
505700000/31/13 12:12 PM 106 
514990000010270 12/31/13 11:09 AM 127 
+0

你能告訴我們你有什麼到目前爲止已經試過? –

+2

您使用的是什麼RDBMS? –

回答

0

當你沒有指定你的DBMS這是標準的SQL:

select * 
from 
(
    select t.*, 
     row_number() 
     over (partition by FK_SALES_REP_ID 
      order by INVOICE_DATE desc) as rn 
    from tab as t 
    where cast(INVOICE_DATE as date) = '12/31/13' 
) as dt 
where rn = 1 
+0

其工作,爲第一價值? – Salman

+0

更改排序順序以升序:-) – dnoeth

+0

感謝其工作正常 – Salman

0

你的解決方案可能會看起來像這樣。重要的是確保選擇MAX(INVOICE_TIME),其中日期等於您想要的日期。

SELECT * FROM Your.Table 
WHERE 
    INVOICE_DATE = 
     (SELECT MAX(INVOICE_DATE) FROM Your.Table 
     WHERE DATE(INVOICE_DATE) = '12/31/2013') 
+0

請編輯你的問題。 –