1

検索ポリシーの最後の net_insurance を取得しようとしています。その後、type_money で合計します。誰か助けてくれませんか?

これは私のテーブルポリシーです

  |ID| |POLICY_NUM|  
   1      1234        
   2      5678     
   3      3444    
   4      4577

これは私のテーブル保険です

  |ID|  |POLICY_ID| |NET_INSURANCE|     |TYPE_MONEY|
   1           1           300          1
   2           1           400          2
   3           1           100          1
   4           2           400          1
   5           2           800          2
   6           3           100          1
   7           3           400          2
   8           4           800          2
   9           2           900          1

検索 policy_id の最後の net_insurance を取得しようとしています

  |ID|  |POLICY_ID|  |LAST_NET_INSURANCE| |TYPE_MONEY|
   3           1           100              1
   9           2           900              1
   7           3           400              2
   8           4           800              2

私が本当に欲しいのはこれです

  |TYPE_MONEY| |total|
        1        1000  
        2        1200   

これが私のクエリです

http://sqlfiddle.com/#!2/19fb8/6

誰かがこれで私を助けることができますか?

私は本当に助けに感謝します

4

2 に答える 2

1

これを試してください:

SELECT type_money, sum(net_insurance) from insurances
WHERE id IN (
  SELECT max(id) FROM insurances
  GROUP BY policy_id
)
GROUP BY type_money

質問の入力データは、フィドルのものとは異なることに注意してください。

質問のデータをいじってください: here

質問からのデータを出力します。

| TYPE_MONEY | TOTAL |
|------------|-------|
|          1 |  1000 |
|          2 |  1200 |
于 2013-10-30T20:29:05.450 に答える