我有桌子文章
ID identity autoincement, IDArticle: nvarchar(100) ,IDCar nvarchar(100), createddate
如何转换:
SELECT IDCar , MAX(createddate)
FROM Articles
GROUP BY IDCar
获取IDArticle 例如:
1 art1 BWM 5-21-2010
2 art2 BMW 5-24-2010
3 art3 BMW 5-31-2010
4 art4 Porshe 5-31-2010
5 art5 Porshe 6-1-2010
预期结果是:
art3
art5
不与以下内容重复: Sql query number of occurance
答案 0 :(得分:4)
SELECT a.IDArticle
FROM
(
SELECT IDCar , MAX(createddate) as max_date
FROM Articles
GROUP BY IDCar
) max
INNER JOIN Articles a ON a.IDCar = max.IDCar and a.createddate = max.max_date
答案 1 :(得分:0)
SELECT outerTable.IDArticle
FROM Articles outerTable
WHERE outerTable.createddate =
(SELECT MAX(innerTable.createddate)
FROM Articles innerTable
WHERE outerTable.IDCar = innerTable.IDCar
GROUP BY innerTable.IDCar)
答案 2 :(得分:0)
WITH ArticlesMaxDate (IDCar, MaxCreatedDate) AS
(
SELECT
IDCar , MAX(createddate) AS MaxCreatedDate
FROM
Articles
GROUP BY
IDCar
)
SELECT
a.IDcar
, a.IDArticle
, amd.MaxCreatedDate
FROM
Articles a
INNER JOIN ArticlesMaxDate amd ON amd.IDCar = a.IDCar
AND amd.MaxCreatedDate = a.createddate