「BY GROUP」「DISTINCT ON」と私は、データベースのクエリは、私が誰かを願っていますは、PostgreSQL - 構文
「BY GROUP」予想外の結果が「DISTINCT ON」との私の不適切な使用に行うことができます戻ったことに気づきましたこれを真っ直ぐにしてください。実際のクエリは非常に複雑ですので、私よダムそれダウン:
CREATE TABLE test_select (object_id INT , event_timestamp timestamp);
COPY test_select (object_id , event_timestamp) FROM stdin (DELIMITER '|');
1 | 2013-01-27 21:01:20
1 | 2012-06-28 14:36:26
1 | 2013-02-21 04:16:48
2 | 2012-06-27 19:53:05
2 | 2013-02-03 17:35:58
3 | 2012-06-14 20:17:00
3 | 2013-02-15 19:03:34
4 | 2012-06-13 13:59:47
4 | 2013-02-23 06:31:16
5 | 2012-07-03 01:45:56
5 | 2012-06-11 21:33:26
\.
私は明確な選択をしようとしている:
私はOBJECT_IDとタイムスタンプで構成され、テーブル/インナークエリを持っていますID、(それが思わ)私は、これは私が必要なものないと思うので、結果は
[5、4、1、3、2]である必要があり、逆CHRONにタイムスタンプで重複排除/
を命じた:
SELECT object_id
FROM test_select
GROUP BY object_id
ORDER BY max(event_timestamp) DESC
;
テスト/監査の目的で、タイムスタンプフィールドを含めることがあります。私はそのクエリに別のフィールドを含める方法を見つけることができないようです。
私の上記のSQLで目障りな問題を指摘できますか、または監査情報を含める方法に関する提案はありますか?
ありがとう!あなたの2番目の例は、私が理解しようとしていた構文でした。後でパフォーマンスのために他のクエリをテストし、それらを使用できるかどうかを確認します。私はユーザーの入力に基づいてこのクエリを生成しています。その2番目の例は「簡単に実行可能です」です。 –