メッセージの単純なデータベースを使用しています。
ID | 整数 親 ID | 整数 メッセージ | キャラクターバリエーション(140) create_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 の結果に既に表示されているため、最後の 2 行は返されませんでした。)
ありがとう