SQL Server CEデータベースを使用しています。行をグループ化してトップ1を選択する方法
表会費:
Erno | Date | Due
---------------------------
1 1-Jan-2016 220
1 1-Mar-2016 200
1 1-Apr-2016 210
1 1-May-2016 200
2 1-Jan-2016 250
2 1-Feb-2016 300
2 1-Mar-2016 220
2 1-Apr-2016 200
3 1-Jan-2016 300
3 1-Feb-2016 150
3 1-May-2016 400
3 1-Jun-2016 300
ERNOは登録がノーである私のような学生料金表を持っています。 日付は入金日付で、です。は、その日までの金額または手数料の残高です。
Erno
またはStudent
の最新のレコードを取得します。
同様:
最新により情報:
Erno Date Due
1 1-May-2016 200
2 1-Apr-2016 200
3 1-Jun-2016 300
そうする任意のSQL ServerのCEのクエリがありますか?
select sf.erno, sf.date, sf.due
from studentfee sf join (
select erno, max(date) maxdate
from studentfee
group by erno) t on sf.erno = t.erno and sf.date = t.maxdate
を試してみてください?実際には、このテーブルには、税金、手数料、前のバールなど、80,000行以上のフィールドがあります。 – Admin
@ProgramAdmin - 一般的にパフォーマンスに関しては、それが異なります。あなたは 'erno'と' date'にインデックスを持たせることで恩恵を受けるでしょう。 – sgeddes