,我有以下數據:分組,並與領域聚集不需要它
| ID | Date | Code |
--------------------------
| 1 | 26/02/14 | 10 |
| 1 | 25/02/14 | 11 |
| 1 | 24/02/14 | 10 |
| 2 | 25/02/14 | 13 |
| 2 | 24/02/14 | 11 |
| 2 | 23/02/14 | 10 |
所有我想要的是組由ID字段,並返回從日期字段的最大值(即最近)。所以,最終的結果應該是這樣的:
| ID | Date | Code |
--------------------------
| 1 | 26/02/14 | 10 |
| 2 | 25/02/14 | 13 |
看來不過,如果我想在同一個查詢顯示「代碼」字段我也有團體或聚合它,以及...這是有道理的,因爲在其他人被分組/聚合後(即使在這種情況下不存在)之後,在該字段中可能存在多於一個的值。
我以爲我可以通過在子查詢中僅對這些字段執行GroupBy和Max來處理此問題,然後在該子查詢上執行聯接以引入「代碼」字段,我不想將其分組或集合:
SELECT Q.ID, Q.MaxOfDate, A.Code
FROM
(SELECT B.ID, Max(B.Date) As MaxOfDate
FROM myTable As B
GROUP BY B.ID) As Q
LEFT JOIN myTable As A ON Q.ID = A.ID;
這不起作用,因爲它仍然只給我我開始的記錄的原始數量。
你如何做分組和聚合與你不一定要分組/彙總的領域?
仍然太多記錄..但是我知道我的原始子查詢出了什麼問題:我應該在日期字段上'LEFT JOIN'。 –