0

トランザクションに関する 5 年間のデータが格納されるテーブル HO_TRAN があります。テーブルは、Season_id、farmer_id、plot_no、Net_weight などのフィールドで構成されます。Season id はトランザクションの年 farmer_id は消費者 ID です Plot_no は農家が所有する区画の一意の番号です。net_weight は、農夫がさまざまな区画から私たちに提供する製品です。

私が必要としているのは、2 年間のデータを farmer_id で分析 (比較) することです。つまり、両方の年を提供した farmer_id とそうでない farmer_id をフィルター処理したいということです。この方法で出力したい

     Farmer_id | Plot_no | Net_weight 

     1         | 123     | 5.00
               | 321     | 15.00
     2         | 456     | 6.00
               | 159     | 65.00
               | 187     | 56.00
     3         | 642     | 47.00
4

2 に答える 2

0
select Farmer_id, Plot_no, Net_weight
from HO_TRAN as ht
where exists (
      select 1 from HO_TRAN
      where Farmer_id = ht.Farmer_id
      and year between X and Y
      group by Farmer_id
      having count(distinct year) = 2
);

または、実際の意味に応じて、そのようなもの。何年にもわたって分析して比較したいと言っていますが、提案された結果には年がありません。

于 2013-04-18T03:18:30.270 に答える