2017-02-22 7 views
0

私は検索していますが、探しているもので結果を得ることができませんでした。多分私はフレーズをうまく管理していないかもしれない、すべてのことを許してください。ここは、エントリの最初のレコードのみをカウントします。1

はデータiがMSのSQLクエリでこれを行うことができるようにしたい、私は期待していた結果がこの

policy_Id name deleted invoice number amount Count_policy Added 
2341  jeffa  0  po02345  £10.00  1 
2341  jeffa  0  po02345  £0.00  0 
2341  jeffa  0  po02345  £5.00  0 
6348  kross  0  po84762  £2.00  1 
4723  mad  0  po67452  £3.00  1 

のようになります。

policy_Id name deleted invoice number amount 
2341  jeffa  0  po02345  £10.00 
2342  jeffa  0  po02345  £0.00 
2343  jeffa  0  po02345  £5.00 
6348  kross  0  po84762  £2.00 
4723  mad   0  po67452  £3.00 

のは、私は、このポリシーテーブルを持たせるサンプルです。請求書番号はありません。 po2345、amount列には3つのエントリがあります。私は残りの2

感謝するための第1およびゼロのための1をカウントしたいすべての

+0

関連するすべてのテーブルのテーブル定義がありますか?また、すでに試した質問もありますか? – Myonara

+0

大丈夫私は今日、データのより多くの外観に取り組んでいます。ありがとう – user3011898

答えて

0

あなたはこのようにそれを行うことができます。ROW_NUMBER()

SELECT policy_Id, name, deleted, invoice_number, amount, CASE ROW_NUMBER() OVER (PARTITION BY policy_Id ORDER BY someId) WHEN 1 THEN 1 ELSE 0 END Count_Policy 
FROM your_table 
ORDER BY policy_Id 

あなたは後行数をカウントすることができます」舞台裏で "グルーピングとソートを行います。

ORDER BYにはsomeIdを使用しましたが、コードからはわからない現在の注文を示すフィールドを指定する必要があります。その順序は、policy_Idを共有するレコードのどれがCount_policy = 1を持つかを定義します。

関連する問題