0

我有以下查询:

SELECT user_id,
greatest(created_at),
note
FROM user_notes

哪个输出

user_id     greatest            latest_note
12345       2012-09-05             note1
23456       2013-09-01             note2
23456       2013-09-02             note3
etc.              etc.              etc.

我认为这个查询会消除 user_id 行中的重复项。我希望每个 user_id 只有一个“最好”的结果。我似乎无法弄清楚为什么同一个 user_id 有多个“greatest”。

4

1 回答 1

1

我想你MAX()不想GREATEST()

WITH latest AS (
   SELECT user_id, max(created_at) AS created_at
   FROM user_notes
   GROUP BY user_id)
SELECT user_notes.*
FROM user_notes
INNER JOIN latest
USING (user_id, created_at)
于 2013-06-15T01:24:54.563 回答