質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
GROUP BY

GROUP BYとはSQL文のひとつで、SELECT文において特定の列の値が等しい行ごとに表をグループ化します。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Q&A

解決済

1回答

176閲覧

[MySQL]特定カラムのグループごとで条件に合致した場合のみSELECTしたい

entaro12345

総合スコア75

GROUP BY

GROUP BYとはSQL文のひとつで、SELECT文において特定の列の値が等しい行ごとに表をグループ化します。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

0グッド

0クリップ

投稿2024/04/14 02:48

編集2024/04/14 07:30

実現したいこと

複数テーブルで結合して取得している画面があります
その中で日付で一グループとみなし、そのグループ内の特定のカラムに条件文が合致した場合、
グループ一式を取得したいです
|日付|時刻|駅名|駅コード|
|:--|:--:|--:|
|2024-04-01|09:00|A駅|000001|
|2024-04-01|09:30|B駅|000002|
|2024-04-01|10:00|C駅|000003|
|2024-04-02|09:00|A駅|000001|
|2024-04-02|09:15|B駅|000002|
|2024-04-03|10:00|C駅|000003|
|2024-04-03|10:15|D駅|000004|
|2024-04-03|10:30|E駅|000005|

↑↑の場合に、条件"000002"が指定された場合、下記をSELECTしたいです
|日付|時刻|駅名|駅コード|
|:--|:--:|--:|
|2024-04-01|09:00|A駅|000001|
|2024-04-01|09:30|B駅|000002|
|2024-04-01|10:00|C駅|000003|
|2024-04-02|09:00|A駅|000001|
|2024-04-02|09:15|B駅|000002|

04/14 16:30 追記
DB構造を貼り付けさせていただきます
↓↓[mst_station]
イメージ説明
↓↓[mst_st_date]
イメージ説明
↓↓[mst_st_time]
イメージ説明

該当のソースコード

MySQL

1select sd.dt, st.time_cd, st.time_name, ms.id, ms.station_cd, ms.station_name 2from mst_st_date as sd 3inner join mst_st_time as st on st.dt = sd.dt 4inner join mst_station as ms on ms.id = sd.id

試したこと

group byやhaving句で試したがNG(知識不足の可能性もあります)

補足情報(FW/ツールのバージョンなど)

MySQL

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

neko_the_shadow

2024/04/14 07:04

①mst_st_date・mst_st_time・mst_stationのテーブル定義およびサンプルデータは提供できますか? ②MySQLの詳細なバージョン情報を教えてください。とくにMySQL5系かMySQL8系かの違いは重要です。
entaro12345

2024/04/14 07:25

コメントありがとうございます。 ①につきましては、本文を編集して追記いたします ②MySQLは、8.0.32となります
ikedas

2024/04/14 07:40

「該当のソースコード」に開催してあるコードは、どういったものなのでしょうか。これでうまくいった? それともいかなかった? いかなかったとしたら「実現したいこと」に掲載した想定結果とどこがどう違う? 以上のようなことを、質問文に加筆願います。
entaro12345

2024/04/14 07:43

コメントありがとうございます 一覧の表示自体はできております しかし、検索時の絞り込みがうまくいっていない状況です
ikedas

2024/04/14 07:47

ちょっとおっしゃっていることが分かりません。具体的にお願いします。つまり、現在の実際の出力を示して「ここがこうなってほしいのに実際はこうなっている」のように説明してほしいです。 繰り返しになりますが、回答はこのコメント欄に書くのではなく、質問文を編集して書いてください。
guest

回答1

0

自己解決

コメントいただきました方、本当にありがとうございました
自己解決できましたので投稿させていただきます

対象の日付だけを抽出するSQL文をleft joinで結合することでうまく抽出することができました

投稿2024/04/14 07:44

entaro12345

総合スコア75

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問