1

私には、取り組もうとしている大きな問題があります。古い同様の問題を読んでも、実りはありませんでした。

私のテーブルには列 [id]、[parentid]、[data1]、[data2] などがあります。1 つのレコードだけが同じ [parentid] を持ち、他のレコードは 2 ~ 10 を持つ場合があります。

[parentid] でグループ化し、[id] が最大のレコードのすべてのデータを出力したいと考えています。したがって、同じ [parentid] 番号を共有するレコードのすべての「最新」の詳細のみを取得します。

これが何らかの形でわかりやすい目標であることを願っています:)。

また、Crystal Reports XI と Qlikview 11 でこれに取り組もうとしましたが、大きな成功はありませんでした。

助けてくれてありがとう!

4

3 に答える 3

1

Can values in your ID column be reused? If no, then juergen's answer will work. If they can be reused, you will need to use the same table twice in your query, once to get the max id for each parent id, and once to get the row for each max id/parent id. Like so:

select
t1.*
from aTable t1,
(select parentid, max(id) as id
 from aTable group by parentid) t2
where t1.id = t2.id
and t1.parentid = t2.parentid

SQLFIddle!

于 2013-09-25T15:29:33.443 に答える