0
我希望有人能幫助我,我一直在這一整天工作。找到日期範圍內的最大值和日期返回mutliplie記錄
我需要獲取最大值,以及最大值與特定日期範圍之間關聯的日期和ID。
這裏是我的代碼,我已經嘗試了許多不同的版本,但它仍返回多個ID和日期
SELECT distinct bw_s.id, avs.carProd, cd_s.RecordDate,
cd_s.milkProduction as MilkProd,
cd_s.WaterProduction as WaterProd
FROM tblTest bw_s
INNER JOIN tblTestCp cd_s WITH(NOLOCK)
ON bw_s.id=cd_s.id
AND cd_s.recorddate BETWEEN '08/06/2014' AND '10/05/2014'
Inner Join
(select id, max(CarVol) as carProd
from tblTestCp
where recorddate BETWEEN '08/06/2014' AND '10/05/2014'
group by id) avs
on avs.id = bw_s.id
order by id
我有臺這樣的
id RecordDate carProd MilkProd WaterProd
47790 2014-10-05 132155 0 225
47790 2014-10-01 13444 0 0
47790 2014-08-06 132111 10 100
47790 2014-09-05 10000 500 145
47790 2014-09-20 10000 800 500
47791 2014-09-20 10000 300 500
47791 2014-09-21 10001 400 500
47791 2014-08-21 20001 600 500
而且結果應該是(max carprod)
id RecordDate carProd MilkProd WaterProd
47790 2014-10-05 132155 0 225
47791 2014-08-21 20001 600 500
你能編輯你的問題並添加樣本數據和期望的結果嗎?我也建議你把你的日期常量以YYYY-MM-DD的ISO標準格式。 – 2014-10-06 20:10:41
爲什麼NOLOCK的使用不一致?您正在多次查詢同一個基表,但只有1個提示? FWIW,我建議不要使用它,除非你可以定期地丟失和/或重複數據。 – 2014-10-06 21:13:50