1

次のようなデータを含むテーブルがあります。

Agent | TCV | Parent AccountID | AccountID | Month
------+-----+------------------+-----------+--------
John  | 100 | ABC12345         | Sept13445 | 2
John  | 200 | ABC12345         | Sept345   | 2 
John  | 150 | CDE12345         | Sept546   | 2
John  | 200 | FTE1456          | Oct3467   | 2
John  | 100 | ABC12345         | Sept13445 | 3
John  | 200 | ABC12345         | Sept345   | 3 
John  | 150 | CDE12345         | Sept546   | 3
John  | 200 | FTE1456          | Oct3467   | 3

私が必要としているのは、エージェントごとにグループ化されたランキングを表示し、次に各エージェントの親アカウント DID を毎月表示する方法です。エクスポートには、エージェント、TCV、parentaccountDID、および月の列があるという考えです。

したがって、すべてのエージェントが 10 個の親アカウント DID を持っている場合 (ただし、それぞれの下に複数のアカウント DID がある可能性があります)、親アカウント DID のグループ化された TCV によってランク付けされます。したがって、2 か月目のグループ化された TCV に基づく John の 10 個の親アカウント DID の 10 行のデータ、次に 3 月目のグループ化された TCV に基づく 10 個の親アカウント DID の 10 行のデータ、というようになります。

4

2 に答える 2

0
SELECT agent, tcv, parent_accnt_id, accnt_id, curr_month
     , ROW_NUMBER() OVER (PARTITION BY curr_month, parent_accnt_id ORDER BY curr_month) rnk 
 FROM your_table
/

データを使用すると、次のようになります。

AGENT    TCV    PARENT_ACCNT_ID    ACCNT_ID    CURR_MONTH    RNK
------------------------------------------------------------------
John     100    ABC12345           Sept13445     2            1
John     200    ABC12345           Sept345       2            2
John     150    CDE12345           Sept546       2            1
John     200    FTE1456            Oct3467       2            1
John     100    ABC12345           Sept13445     3            1
John     200    ABC12345           Sept345       3            2
John     150    CDE12345           Sept546       3            1
John     200    FTE1456            Oct3467       3            1
于 2013-03-08T17:29:35.337 に答える
0

Oracle SQL データベースがある場合は、必要に応じて役立つ可能性がある以下のクエリを試してください。

select Agent ,TCV ,ParentAccountID,Month,count(1) from table group by  Agent ,TCV ,ParentAccountID,Month
order by 5 desc

また、次のように「Dense Rank Over」機能を (google) で確認することもできます。

select Agent ,TCV ,ParentAccountID,Month,dense rank over(Agent ,TCV ,ParentAccountID,Month) from table group by  Agent ,TCV ,ParentAccountID,Month

値をランク付けし、結果をソートします。

于 2013-03-08T17:24:19.020 に答える