
前提として下記のようなテーブルがあります。
テーブル名:test
フィールド:
1)id: varchar, not null
2)name: varchar
3)date: timestamp with time zone, not null
このテーブルに下記のようなレコードがあります。
'00001', 'A', '2005-01-01 00:00:00'
'00001', 'B', '2005-07-01 00:00:00'
'00001', 'C', '2005-11-01 00:00:00'
'00002', 'X', '2005-01-20 00:00:00'
'00002', 'Y', '2005-07-20 00:00:00'
'00002', 'Z', '2005-11-20 00:00:00'
■今やりたいこと
このテーブルからidごとにdateフィールド値が最近のレコードを取得したい。
■やってみたこと
下記SQLを発行しました。
>select id, max(date) from test group by id order by id
結果==>
00001 2005-11-01 00:00:00
00002 2005-11-20 00:00:00
実際はnameフィールドの値も取得したいのですが、group by句を使うとフィールド指定ができませんでした。
■だめだったSQL
select id, name, max(date) from test group by id order by id
どのようにSQLを書けばよろしいでしょうか?
No.2ベストアンサー
- 回答日時:
初めに、PrimaryKeyがIDとNAMEという事を想定します。
SELECT TEST.ID, TEST.NAME, WK.DATE
FROM TEST,
(
SELECT TEST.ID, MAX(TEST.DATE) AS DATE
FROM TEST
GROUP BY TEST.ID
) WK
WHERE TEST.ID = WK.ID AND
TEST.DATE = WK.DATE
ORDER BY TEST.ID
動作確認済み。
No.1
- 回答日時:
ORACLEの場合だったら以下で出来たはず。
where条件2項目をカッコでくくるのがミソ。
PostgresSQLでも通用するか、結果を教えてください。
select id, name, date from test
where (id, date) =
(
select (id, max(date)) from test group by id order by id
)
この回答への補足
回答ありがとうございます。
早速PostgreSQLで試したところ、
ERROR: more than one row returned by a subquery used as an expression
とエラーが返ってきました。どうやらサブクエリからの複数列の取得がPostgreSQLではサポートされていないようです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Windows10がインストールできま...
-
エクセルで縦のカラムデータを...
-
Ophcrackについて
-
postgresqlのtableのカラムの型...
-
php、postgresqlを使ってwebア...
-
三段論法を真理値表で証明する
-
sqlの中で、 例えば条件句で AN...
-
tesuto 01
-
python3.12のインストール方法
-
Pythonで2つのデータ(キー無し...
-
数値が定期的にあらわれる文字...
-
終端クォート ' が必要です と...
-
PostgressからMySQL(MariaDB)...
-
【PostgreSQL】行の値の並びを...
-
列が存在しないと言われる
-
PostgreSQL14.6のSSL対応について
-
ポストグレにあるExcelファイル...
-
PostgreSQL レコードからアイテ...
-
文字切り替えの時に 中央にでる A
-
postgreSQL カラムの全ての値を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
postgreSQLのint型は桁数指定が...
-
テーブルからのselectにおいて...
-
PostgressからMySQL(MariaDB)...
-
ビット演算結果の取得
-
UNIQUEをつけたときのINDEXテー...
-
plpgsqlのエスケープ文字について
-
PostgresSQL8.4でツリー上に取...
-
SQL SELECT文 別テーブルのレコ...
-
クエリアナライザのsp_helpコマ...
-
pg_queryで変数の取り扱い方
-
テーブル作成 外部参照 配列
-
indexを使おうとしない間違った...
-
ベスト3の抽出方法
-
賢いSQL文がわからない
-
チェックボックスから、データ...
-
phpPgAdminからSQL文を発行し、...
-
SQLで検索結果の記事を表示したい
-
データを削除しても表領域の使...
-
Viewにインデックスは張れ...
-
ORA-00959: 表領域'****'は...
おすすめ情報