[解決済み] 行の日付が最大のテーブルから情報を選択する
2022-03-06 20:39:48
質問
私のテーブルは次のようなものです。
group date cash checks
1 1/1/2013 0 0
2 1/1/2013 0 800
1 1/3/2013 0 700
3 1/1/2013 0 600
1 1/2/2013 0 400
3 1/5/2013 0 200
-- 現金は不要で、テーブルに多くの情報があることを示すだけです。
私は、日付が最大で、チェックが0より大きいユニークなグループを取得したいです。
group date checks
2 1/1/2013 800
1 1/3/2013 700
3 1/5/2013 200
を試行したコードです。
SELECT group,MAX(date),checks
FROM table
WHERE checks>0
GROUP BY group
ORDER BY group DESC
しかし、その場合、最大の日付の行だけでなく、すべての日付とチェックが表示されるという問題があります。
ms sql server 2005 を使用しています。
解決方法は?
SELECT group,MAX(date) as max_date
FROM table
WHERE checks>0
GROUP BY group
他のカラムを取得するためにデータに結合してください。
Select group,max_date,checks
from table t
inner join
(SELECT group,MAX(date) as max_date
FROM table
WHERE checks>0
GROUP BY group)a
on a.group = t.group and a.max_date = date
内部結合は、最大レコードのみを取得するためのフィルタとして機能します。
参考までに、あなたのカラム名はひどいですね。カラムに予約語(group、date、table)を使わないでください。
関連
-
[解決済み】Teradata - 計算中に数値のオーバーフローが発生しました。
-
[解決済み] データ型 varchar の変換エラー
-
[解決済み] SQL Server - 'RETURN'付近の、条件が想定されるコンテキストで指定された、非ブール型の式。
-
[解決済み] SQL ServerでSELECTからUPDATEする方法とは?
-
[解決済み] SQL Server の DateTime データ型から日付だけを返す方法
-
[解決済み] 各GROUP BYグループの最初の行を選択しますか?
-
[解決済み] ...値に挿入する ( SELECT ... FROM ... )
-
[解決済み] MYSQLでMAX(列の値)、PARTITIONで別の列で行を選択するにはどうすればよいですか?
-
[解決済み] SQL SELECT WHERE フィールドに単語が含まれる場合
-
[解決済み] ある列の最大値を持つ行を取得する
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Teradata - 計算中に数値のオーバーフローが発生しました。
-
[解決済み】一括読み込みデータ変換エラー(指定されたコードページに対して型の不一致または無効な文字)1行目4列目(年)について)
-
[解決済み] テスト
-
[解決済み] INSERT ステートメントが FOREIGN KEY 制約と競合する - SQL Server
-
[解決済み] SQLクエリ「00904. 00000 - "%s: 無効な識別子".
-
[解決済み] リンクされたサーバーの NULL に対して OLE DB プロバイダー Microsoft.Jet.OLEDB.4.0 のインスタンスを作成できません。
-
[解決済み] 検索エラー ORA-00932: 不整合なデータ型: 期待された DATE は NUMBER になりました。
-
[解決済み] ORA-00997: LONG データタイプの不正使用に対する回避策
-
[解決済み] MYSQLでMAX(列の値)、PARTITIONで別の列で行を選択するにはどうすればよいですか?
-
[解決済み] SQL Serverです。MAX(DATE)を持つ行のみをSELECTする。