我有一個表OrderSpecs
。我需要選擇OrderSpecs
中的所有行customer ID
,但僅選擇order ID
每個訂單的最後一次出現(通過時間戳記)。我還想讓我的查詢計算它爲每個OrderID
找到的發生次數。SQL選擇最後一次出現的行和計數出現次數
這裏是我的表(濃縮至僅顯示關鍵信息):
OrderSpecs選擇按日期和CustomerID
最近爲了行時
ID OrderID CustomerID CreatedDate SpecDocument
1 1 5 01/08/2012 11:00:00 *Amendment1*
2 1 5 02/08/2012 15:32:41 *Amendment2*
3 2 31 04/08/2012 16:19:00 *Amendment1*
4 3 5 05/08/2012 12:10:12 *Amendment1*
5 4 10 08/08/2012 09:32:56 *Amendment1*
6 1 5 09/08/2012 11:47:02 *Amendment3*
我的查詢工作正常:
SELECT
ID, CustomerID, EstimateNo, OrderYear, OrderNo, ProductionNo, AddedBy,
AddedDate, SizeLength, SizeWidth, HomeModelID, HomeTypeID, DrawingNo,
CustomerReference, BuildPieces, ProductionPieces, Notes, SpecDocument, OrderID
FROM
OrderSpecs AS o
WHERE
(AddedDate = (SELECT MAX(AddedDate) AS Expr1
FROM OrderSpecs AS i
WHERE (o.OrderID = OrderID)))
AND (CustomerID = @CustomerID)
但是,我無法計算出如何計算一個occourances的數量每個OrderID
。
例如,我想我的產出表是這樣的(由CustomerID = 5
搜索):
ID OrderID CustomerID CreatedDate SpecDocument Count
6 1 5 09/08/2012 11:47:02 *Amendment3* 3
4 3 5 05/08/2012 12:10:12 *Amendment1* 1
它將有助於瞭解您正在使用的實際**數據庫系統**(以及該RDBMS的哪個版本)。 * SQL *只是*結構查詢語言* - 不是數據庫產品... – 2012-08-10 12:15:17