GROUP BY having MAX date
2023-11-12 10:07:07
質問
このコードを実行すると問題が発生します。
SELECT * FROM tblpm n
WHERE date_updated=(SELECT MAX(date_updated)
FROM tblpm GROUP BY control_number
HAVING control_number=n.control_number)
基本的には、各管理番号の最新の日付を返したいのです。上記のクエリは正しい出力を返しますが、出力が表示されるまでに37秒かかります。
上記のクエリよりも高速に実行できる他のSQL句やコマンドはありますか?
事前にありがとうございます。
どのように解決するのですか?
WHERE句にサブクエリを入れて、n.control_numberに制限すると、サブクエリが何度も実行されることになります。 これを 相関サブクエリ と呼ばれ、しばしばパフォーマンスキラーになります。
FROM句でサブクエリを一度実行し、管理番号ごとの最大日付を取得する方がよいでしょう。
SELECT n.*
FROM tblpm n
INNER JOIN (
SELECT control_number, MAX(date_updated) AS date_updated
FROM tblpm GROUP BY control_number
) AS max USING (control_number, date_updated);
関連
-
MySQLインストールチュートリアル(Linux版
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] 各GROUP BYグループの最初の行を選択しますか?
-
[解決済み] 複数の列でgroup byを使用する
-
[解決済み] 各グループの最後のレコードを取得する - MySQL
-
[解決済み] MYSQLでMAX(列の値)、PARTITIONで別の列で行を選択するにはどうすればよいですか?
-
[解決済み] ある列の最大値を持つ行を取得する
-
[解決済み】countとgroup byを同じselect文で使用する方法
-
[解決済み] ユーザーごとに最新の日付の行を選択する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
MySQLインストールチュートリアル(Windows用)詳細
-
[解決済み】SQLサーバーのテンポラリーテーブルで「すでに名前のついたオブジェクトがあります」エラーが発生する。
-
sql エラーを解決する オペランドには1つの列が含まれている必要があります。
-
Djangoマイグレーションエラー 外部キー制約を追加できない
-
Mysqlデータベースへのリンク時にpymysqlがConnection refusedエラーを報告する
-
msql クエリでのエラー 'where 節' の不明な列 'yellow fruit'
-
[解決済み] 1つのSQLクエリで複数のカウントを取得する方法は?
-
[解決済み] mysqladminのフラッシュホストでブロックを解除する方法
-
[解決済み] なぜ SQLAlchemy の count() は生のクエリよりずっと遅いのでしょうか?
-
[解決済み] KEYキーワードは何を意味するのか?