[解決済み] 別の列のMAX値に対応する列の値を取得するSQLクエリ?
2023-04-04 07:44:12
質問
OK、これは私の質問です。
SELECT
video_category,
video_url,
video_date,
video_title,
short_description,
MAX(video_id)
FROM
videos
GROUP BY
video_category
データを引き出すと、video_idについては正しい行が得られるのですが、その他については各カテゴリーの最初の行が引き出されます。そのため、カテゴリ 1 の video_id に対して最大結果を取得すると、最大 ID が取得されますが、url、日付、タイトル、説明については、テーブルの最初の行が取得されます。
どうすれば、max IDの結果に対応する他の列を引っ張ってこさせることができるでしょうか?
編集:修正しました。
SELECT
*
FROM
videos
WHERE
video_id IN
(
SELECT
DISTINCT
MAX(video_id)
FROM
videos
GROUP BY
video_category
)
ORDER BY
video_category ASC
どのように解決するのですか?
私なら、このようにします。
SELECT
s.video_id
,s.video_category
,s.video_url
,s.video_date
,s.video_title
,short_description
FROM videos s
JOIN (SELECT MAX(video_id) AS id FROM videos GROUP BY video_category) max
ON s.video_id = max.id
これは、あなた自身のソリューションよりもかなり高速です。
関連
-
MySQLの一般的な分割ライブラリおよび分割テーブルスキームの概要
-
Mysql がエラーを報告 オペランドには 1 つのカラムが含まれている必要があります。
-
[解決済み] 1つのSQLクエリで複数のカウントを取得する方法は?
-
[解決済み] MYSQLでMAX(列の値)、PARTITIONで別の列で行を選択するにはどうすればよいですか?
-
[解決済み] SELECT' 文の 'IF' - カラムの値に基づいて出力値を選択する
-
[解決済み] 各グループの上位1行を取得
-
[解決済み] SQL Serverには、.NETのMath.Maxのような2つの値を取るMax関数はありますか?
-
[解決済み] groupbyでグループ内の最大値を持つ行を取得する。
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
-
[解決済み】グループ化されたSQL結果の各グループで最大値を持つレコードを取得する
最新
-
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のデータバックアップにmysqldumpを使用する方法
-
MySQLとOracleの一括挿入SQLの汎用的な記述例
-
MySQLインストールチュートリアル(Windows用)詳細
-
MySQLインストールチュートリアル(Linux版
-
[解決済み】DynamoDB : 提供されたキー要素がスキーマと一致しません。
-
[解決済み] [GROUP BY句に含まれるか、集約関数で使用される必要があります。
-
[解決済み] SQLエラー。ORA-01861:リテラルは、フォーマット文字列01861に一致しません。
-
MySQLの一般的な分割ライブラリおよび分割テーブルスキームの概要
-
Mysql がエラーを報告 オペランドには 1 つのカラムが含まれている必要があります。
-
[解決済み] SQLでカラムに最大値を持つ行のみを選択する [重複]。