[解決済み] ある列の最大値を持つ行を取得する
2022-03-16 07:52:30
質問
表です。
UserId, Value, Date.
各UserIdのmax(Date)のUserId, Valueを取得したいのですが。つまり、各UserIdのうち、最新の日付を持つUserIdのValueです。これを単純にSQLで行う方法はありますか?(できればオラクルで)
更新してください。 曖昧な表現で申し訳ありませんが、私はすべてのUserIdsを取得する必要があります。しかし、各UserIdについて、そのユーザーが最新の日付を持っている行のみを取得する必要があります。
解決方法は?
これは、my_dateカラムの値がそのユーザIDのmy_dateの最大値と等しいすべての行を検索します。この場合、そのuseridの最大値が複数の行に存在する場合は、複数の行を取得することができます。
select userid,
my_date,
...
from
(
select userid,
my_date,
...
max(my_date) over (partition by userid) max_my_date
from users
)
where my_date = max_my_date
解析関数はロックだ。
編集部:最初のコメントについてですが.
分析クエリと自己結合を使用すると、分析クエリの目的を達成できません。
このコードには自己結合はありません。代わりに、分析関数を含むインラインビューの結果に述語が置かれています。
Oracleのデフォルトのウィンドウは、パーティションの最初の行から現在の行までです。
windowing句はorder by句が存在する場合にのみ適用される。order by句がない場合、デフォルトではウィンドウズ句は適用されず、明示的に指定することもできない。
コードは動作します。
関連
-
[解決済み] 最初の行への結合方法
-
[解決済み] MYSQLでMAX(列の値)、PARTITIONで別の列で行を選択するにはどうすればよいですか?
-
[解決済み] SQL Serverでレコードを削除した後、IDシードをリセットする。
-
[解決済み] 各グループの上位1行を取得
-
[解決済み] SQLデータベースのテーブルでn番目の行を選択する方法は?
-
[解決済み] SQL Serverで、ある日付より大きいすべての日付を照会するにはどうすればよいですか?
-
[解決済み] Postgres でサブクエリを使用してテーブルの行を更新する
-
[解決済み】SQL Serverで既存のテーブルにデフォルト値を持つカラムを追加する
-
[解決済み] 各ユーザーの最新レコードの日付をSQLで問い合わせるには?
-
[解決済み】グループ化された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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] LINQでInclude()は何をするのですか?
-
[解決済み] SQLのカラム名があいまいな場合のクエリエラー
-
[解決済み] 1つのPostgreSQLクエリで複数のWITHステートメントを使用するには?
-
[解決済み] アドホッククエリとは何ですか?
-
[解決済み] ...値に挿入する ( SELECT ... FROM ... )
-
[解決済み] 複数の列でgroup byを使用する
-
[解決済み] SQL SELECT WHERE フィールドに単語が含まれる場合
-
[解決済み] SQLの複数列の順序付け
-
[解決済み] SQL ServerでINSERT INTOとしてデータをエクスポートする
-
[解決済み] GROUP BY with MAX(DATE)【重複】について