2017-05-31 178 views
0

我有這個問題。 我想不出一個查詢發現,一些在我的表中重複值,我想只選擇那些有最新/最高掃描日期(標記爲黃色) 這裏我表名:測試 enter image description here選擇最新日期的行

+0

到目前爲止您有什麼?你怎麼能爲同一個人有多個最新的掃描日期? –

+0

對不起,但這個數據庫不是由我創建的。我有來自同一個人的多個最新掃描日期,所以我應該創建此查詢以選擇那些Scan_Date – Bombo

+0

由於數據的排序方式,這不是完全重複的。這個問題的關鍵是處理'GROUP BY'函數中的'SCAN_DATE',這兩個重複問題中沒有提到 – Tom

回答

1

您需要使用MAX函數和GROUP BY。這應該從您的表中選擇最新的SCAN_DATE

SELECT 
    LAST_NAME 
    ,FIRST_NAME 
    ,MAX(SCAN_DATE) 
    ,WEIGHT 
    ,HEIGHT 
FROM Test 
-- If using SQL 
GROUP BY LAST_NAME, FIRST_NAME, CAST(SCAN_DATE AS Date), WEIGHT, HEIGHT 
-- If using MySQL 
-- GROUP BY LAST_NAME, FIRST_NAME, DATE(SCAN_DATE), WEIGHT, HEIGHT 
+0

對不起,但通過這個查詢,我得到了我的表的最後一行,而不是黃色標記的行 – Bombo

+0

您可以查看更新。還要更正您的代碼,以確定您是使用'sql'還是'mysql',因爲它們有不同的語法 – Tom

+0

它的工作原理,非常感謝! – Bombo