私は週単位でデータを表示したい場合はDATEPART
を使用する必要があることがわかりました。私はSQLクエリをどのようにまとめるのか分かりません。SQL Datepart、週単位の列を掛ける
これまでのところ、これが一般的な考えです。
var querythis = "SELECT DATEPART(wk, (kg * sett * rep)) as weeklyvol FROM Test GROUP BY date, kg, sett, rep";
ので、kg
、sett
とrep
は私のデータベース列の3があり、また、それらの3がすべてintegers
はので、私は毎週の合計にそれらを乗算したいです、もちろんdatetime
あるdate
を持っています。例えば
:上記のコード行^一部が何週につながる
24 Jan 2017 - 100 x 10 x 3 = 3000
25 Jan 2017 - 100 x 5 x 5 = 2500
26 Jan 2017 - 150 x 3 x 3 = 1350
= 6850 4
GROUP BY date, kg, sett, rep";
イム実際にはわからない、私はすべてを含める必要がありましたそれらか私は誤りを得るでしょう。
現在のところ、私は次のように書きますが、私の望む結果は得られませんが、数字がどういうものなのか知ることさえできませんが、少なくとも正しくはありません。
foreach (var c in db.Query(querythis))
{
<a>@c.weeklyvol</a><br />
}
誰でもこれを行う方法はわかりますか?
違いがある場合は、SQL Server Compactを使用しています。
クール、それは間違いなくトリックでした!しかし、年が変わると、週番号で日付ではなく、注文であることがわかります。これは私が解決できるものですか?すなわち、週522016から週20171に進むと、週52の前に週1の結果が表示されます。 –
はい、私の国では 'isowk'がお勧めです! –
その年の別の列を追加し、でグループに追加することができます。最大の問題は、iso週の正しい年をフェッチする機能がないことです。なぜなら、週が52/53/1週には必ずしも正しいとは限らないからです。 [examples](http://stackoverflow.com/questions/22829604/what-is-iso-year-in-sql-server)には、そのための関数を作成する方法があります。 –