我正在处理一个简单的消息数据库。
编号 | 整数 parent_id | 整数 味精 | 性格变化(140) 创建_dte | 数字(10,0)
消息的 parent_id 为 -1(顶级)或另一条消息的 id。我想返回最近的顶级消息——最近定义为父级或其任何子级的最近 create_dte。
这是我的查询:
select (case when parent_id != -1 then parent_id else id end) as mid, create_dte
from messages
order by create_dte desc
我的结果是这样的:
中 | create_dte ------+---------------------- 5655 | 1333906651 5462 | 1333816235 5496 | 1333686356 5157 | 1333685638 第676章 1333648764 5493 | 1333648630 第724章 1333641318 5402 | 1333470056 5397 | 1333468897 5396 | 1333468378 3640 | 1333304212 3434 | 1333300366 2890 | 1333293369 4958 | 1333288239 4899 | 1333287641 5203 | 1333287298 4899 | 1333287275 4899 | 1333285593
如何在保持 create_dte 类型的同时消除结果中的重复项?我已经尝试过不同的和不同的,但总是失去排序。
这是我需要的:
中 | create_dte ------+---------------------- 5655 | 1333906651 5462 | 1333816235 5496 | 1333686356 5157 | 1333685638 第676章 1333648764 5493 | 1333648630 第724章 1333641318 5402 | 1333470056 5397 | 1333468897 5396 | 1333468378 3640 | 1333304212 3434 | 1333300366 2890 | 1333293369 4958 | 1333288239 4899 | 1333287641 5203 | 1333287298
(最后两行未作为 4899 返回的结果中已经出现了更新的 create_dte。)
谢谢