我希望得到一些帮助,而且我可以清楚地解释自己需要做些什么。
我有以下查询:
SELECT
id.ItemId, id.DocId AS LastVersion,
MONTH(d.docUploadDt) as MontUploaded,
YEAR(d.docUploadDt) as YearUploaded
FROM
dbo.ItemDocument id
INNER JOIN
dbo.Documents d on id.docId = d.docId
GROUP BY
ItemId, id.DocId, d.docUploadDt
这将返回这样的数据(这是一个特定itemId的示例):
ItemId LastVersion MontUploaded YearUploaded
1728903 1544371 2 2016
1728903 1544372 2 2016
1728903 1544373 3 2016
1728903 1544374 4 2016
1728903 1544375 4 2016
1728903 1544376 4 2016
我的目的是检索每个月上传的文档的最后一个版本。我想得到以下结果
ItemId LastVersion MontUploaded YearUploaded
1728903 1544372 2 2016
1728903 1544373 3 2016
1728903 1544376 4 2016
我无法弄清楚如何使用MAX语句。任何人都可以帮我吗?
提前致谢,
塞尔吉奥
答案 0 :(得分:1)
您需要max
月份和年份的uploaddate,itemid并选择SELECT id.ItemId, MAX(id.DocId) AS LastVersion,
MONTH(d.docUploadDt) as MontUploaded, YEAR(d.docUploadDt) as YearUploaded
FROM dbo.ItemDocument id
INNER JOIN dbo.Documents d on id.docId = d.docId
GROUP BY id.ItemId,YEAR(d.docUploadDt),MONTH(d.docUploadDt)
docid。
{{1}}