我讓自己熟悉DATEPART,在這種情況下是周部分,以獲得每週的結果等等。SQL:使用DATEPART和內部連接
我知道它適用於以下查詢。
var querytest = "SELECT DATEPART(wk, date), sum((kg * rep * sett)) as weight,
sum(kg/max * rep * sett) as avg, sum((rep * sett)) as reps
FROM Test WHERE date between @0 and @1 AND exercise < 4 GROUP BY DATEPART(wk, date)";
但是這並沒有真正做的一切,我想,我也可以不添加日期到該查詢,因爲它給了我錯誤。像這樣...sum((rep * sett)) as reps, date FROM
^
像上面那樣的日期。它給了我最後的分組錯誤。
但我想在下面的查詢中使用datepart(wk),任何想法如何做到這一點? (使用SQL Server精簡!)
var querythiss = "SELECT DATEPART(wk, date), SUM(kg * rep * sett) as weight, SUM(kg/max * rep * sett) as avg, SUM(rep * sett) as reps, " +
" t.date, pk.peak FROM Test t INNER JOIN (SELECT MAX(kg/max) as peak, date FROM Test WHERE date BETWEEN @0 AND " +
" @1 AND exercise < 4 group by date) as pk on t.date = pk.date WHERE t.date BETWEEN @0 AND @1 AND exercise < 4 GROUP " +
"BY t.date, pk.peak";
或者這樣,如果這是更容易閱讀。
SELECT DATEPART(wk, date),
SUM(kg * rep * sett) as weight,
SUM(kg/max * rep * sett) as avg,
SUM(rep * sett) as reps,
t.date, pk.peak
FROM Test t INNER JOIN
(
SELECT MAX(kg/max) as peak, date
FROM Test
WHERE date BETWEEN @0 AND @1
AND exercise < 4
GROUP BY date
) as pk on t.date = pk.date
WHERE t.date BETWEEN @0 AND @1 AND exercise < 4
GROUP BY t.date, pk.peak
您能添加錯誤信息嗎? – McNets
在最後的查詢中,那個想要工作的__what錯誤_請發佈整個錯誤,而不是模糊的回憶它 –
語法:需要別名'DATEPART(wk,t.date)'否則日期不明確。 – Serg