###データ
下記のようなデータがすでに入っているとします
MySQL
1id|timeDate|staffId| 21|2017-02-16|1001| 32|2017-02-16|1001| 43|2017-02-16|1002| 54|2017-02-17|1002| 65|2017-02-17|1002| 76|2017-02-18|1001|
※実際はは他にもカラムはありますが、シンプルにするためこれだけにしています
###させたい表示
1.その日のデータを取得
SELECT * FROM テーブル WHERE timeDate = '2017-02-16';
MySQL
1id|timeDate|staffId| 21|2017-02-16|1001| 33|2017-02-16|1002|
2.職員月別で取得
SELECT * FROM テーブル WHERE staffId = '1001' AND timeDate BETWEEN '2017-02-01' AND '2017-02-28';
MySQL
1id|timeDate|staffId| 21|2017-02-16|1001| 36|2017-02-18|1001|
3.職員日別で取得
SELECT * FROM テーブル WHERE staffId = '1002' AND timeDate = '2017-02-17';
MySQL
1id|timeDate|staffId| 24|2017-02-17|1002|
その日その人で複数行データが存在したり、一行しかなかったりはしています。
今回のこのデータでの取得においては、これだけのカラムしか記載しておりませんが、他にもカラムはあると想定はしています。
しかし、全カラム取得する必要はありませんが、今回提示してあるtimeDateとstaffIdは必ず取得するようにしておきたいです。
###※
distinctやgroup byなどを見つけたのでやってみたのですが、そもそも全部くっついてしまったりして、よくわからない状況になりましたのでご質問させていただきます。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー