私のテーブルは次のようになります。
group date cash checks
1 1/1/2013 0 0
2 1/1/2013 0 800
1 1/3/2013 0 700
3 1/1/2013 0 600
1 1/2/2013 0 400
3 1/5/2013 0 200
-- テーブルにさらに多くの情報が含まれていることを証明するだけの現金は必要ありません
日付が最大で、チェックが 0 より大きい各一意のグループを取得したいので、戻り値は次のようになります。
group date checks
2 1/1/2013 800
1 1/3/2013 700
3 1/5/2013 200
試行されたコード:
SELECT group,MAX(date),checks
FROM table
WHERE checks>0
GROUP BY group
ORDER BY group DESC
ただし、最大日付行だけでなく、すべての日付とチェックが表示されるという問題があります。
ms sqlサーバー2005を使用