次の構造のSybaseSQLAnywhereデータベースにテーブルがあります(必須ではないフィールドは削除されています)。このテーブルには、営業日の間に開閉する小売店のレジスタが入力されます。何日もの履歴がテーブルに保持され、その日の開始時にレジスタのステータスは閉じられていると見なされます。「OPENTILL」はビジネス用のレジスターを開くことを意味し、「CLOSETILL」はそれを閉じることを意味します。
Register Transaction_Date Transaction_Time Transaction_Type
1 2013-02-25 08:00:00.000 OPENTILL
2 2013-02-25 08:01:00.000 OPENTILL
3 2013-02-25 08:02:00.000 OPENTILL
2 2013-02-25 09:00:00.000 CLOSETILL
3 2013-02-25 09:01:00.000 CLOSETILL
2 2013-02-25 10:00:00.000 OPENTILL
4 2013-02-25 11:00:00.000 OPENTILL
3 2013-02-25 12:00:00.000 OPENTILL
2 2013-02-25 13:00:00.000 CLOSETILL
1 2013-02-25 14:00:00.000 CLOSETILL
3 2013-02-25 15:00:00.000 CLOSETILL
4 2013-02-25 20:00:00.000 CLOSETILL
これは単なるサンプルデータであり、実際のレジスタ数は4を超えています。抽出しようとしているデータは、1日あたりの同時オープンレジスタの最大数、つまり次のようなテーブルです。
Date Max_Concurrent_Registers
2013-02-25 14
2013-02-24 9
2013-02-23 12
2013-02-22 8
これは、かなり基本的なSybase SQLだけで行うことができますか?つまり、集計関数 "WITH x AS(...)"、サブ選択、カーソルやストアドプロシージャはありませんか?
助けてくれてありがとう