[解決済み] MYSQLでMAX(列の値)、PARTITIONで別の列で行を選択するにはどうすればよいですか?
2022-03-19 23:45:41
質問
私のテーブルが
<テーブル
イド
ホーム
日時
プレーヤー
リソース
1
10
04/03/2009
ジョン
399
2
11
04/03/2009
ジュリエット
244
5
12
04/03/2009
ボラット
555
3
10
03/03/2009
ジョン
300
4
11
03/03/2009
ジュリエット
200
6
12
03/03/2009
ボラット
500
7
13
24/12/2008
ボラット
600
8
13
01/01/2009
ボラット
700
各個別に選択する必要があります
home
の最大値を保持する
datetime
.
結果はこうなる。
<テーブル
イド
ホーム
日時
プレーヤー
リソース
1
10
04/03/2009
ジョン
399
2
11
04/03/2009
ジュリエット
244
5
12
04/03/2009
ボラット
555
8
13
01/01/2009
ボラット
700
試してみました。
-- 1 ..by the MySQL manual:
SELECT DISTINCT
home,
id,
datetime AS dt,
player,
resource
FROM topten t1
WHERE datetime = (SELECT
MAX(t2.datetime)
FROM topten t2
GROUP BY home)
GROUP BY datetime
ORDER BY datetime DESC
うまくいきません。データベースには187行ありますが、結果セットには130行あります。
結果には
home
.
-- 2 ..join
SELECT
s1.id,
s1.home,
s1.datetime,
s1.player,
s1.resource
FROM topten s1
JOIN (SELECT
id,
MAX(datetime) AS dt
FROM topten
GROUP BY id) AS s2
ON s1.id = s2.id
ORDER BY datetime
いや すべてのレコードを与える。
-- 3 ..something exotic:
様々な結果とともに。
解決方法は?
あと少しです。 必要なのは、ホームとその最大の日付時刻の両方を選択し、それから
topten
テーブルの両方のフィールドを使用します。
SELECT tt.*
FROM topten tt
INNER JOIN
(SELECT home, MAX(datetime) AS MaxDateTime
FROM topten
GROUP BY home) groupedtt
ON tt.home = groupedtt.home
AND tt.datetime = groupedtt.MaxDateTime
関連
-
MySQLはこのようなUpdateステートメントを書くべきではありません
-
[解決済み] MySQLの複数行を1つのフィールドに連結することはできますか?
-
[解決済み] MySQLでコマンドラインを使用してユーザーアカウントのリストを取得するにはどうすればよいですか?
-
[解決済み] MySQLのクエリ結果をCSV形式で出力するにはどうすればよいですか?
-
[解決済み] MySQL で特定のカラム名を持つすべてのテーブルを見つけるにはどうすればよいですか?
-
[解決済み] SELECT' 文の 'IF' - カラムの値に基づいて出力値を選択する
-
[解決済み] ある列の最大値を持つ行を取得する
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
-
[解決済み] SQL ServerでINNER JOINを使用して削除するにはどうすればよいですか?
-
[解決済み】MySQLのDatetimeカラムにデフォルト値を設定する方法とは?
最新
-
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 サービスとデータベース管理
-
MySql認証ベースのvsftpd仮想ユーザー
-
MySQL インタビューの質問 - ハッシュインデックスを設定する方法
-
[解決済み】MySQL エラー 1093 - FROM 句で更新のターゲット テーブルを指定できません。
-
SQLException。オペランドは1列でなければなりません。
-
MySQLでテーブルを削除します。親行が削除または更新できません: 外部キー制約に失敗しました。
-
mysql がエラーを報告します。不明な文字セットです。'utf8mb4'
-
CMakeエラー。ソースディレクトリ "/xxx/mysql-5.6.21" に CMakeLists.txt がないようです。
-
[解決済み] INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOINの違いは何ですか?[重複しています]。
-
[解決済み] MySQLのAUTO_INCREMENTをリセットする方法