Oracle 11.2.0.4.0 Std Ed One 64-bit
Oracle Linux 6
Still trying to get my head around analytics. Given this query to identify duplicate rows.
select COMPANY_CODE,
SALES_DIVISION_CODE,
<snip lengthy column list - includes all but two columns of the table>
DISCOUNT_CD
count(*)
over (partition by
COMPANY_CODE,
<snip lengthy column list - identical to above >
DISCOUNT_CD
) ct
from stage.customer_account
where account_name = 'CONSOLIDATED WIDGETS'
;
If there is duplicated, say 7 times, all seven are listed with a count (ct) of 7. A row that is duplicated 150 times, all 150 are listed, each with a 'ct' value of 150.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
CO SA PURCHASE_A ACCOUNT_NAME CT
-- -- ---------- ------------------------------------------------------------ ----------
01 01 0010000263 CONSOLIDATED WIDGETS 7
01 01 0010000263 CONSOLIDATED WIDGETS 7
01 01 0010000263 CONSOLIDATED WIDGETS 7
01 01 0010000263 CONSOLIDATED WIDGETS 7
01 01 0010000263 CONSOLIDATED WIDGETS 7
01 01 0010000263 CONSOLIDATED WIDGETS 7
01 01 0010000263 CONSOLIDATED WIDGETS 7
01 01 0010000263 CONSOLIDATED WIDGETS 95
01 01 0010000263 CONSOLIDATED WIDGETS 95
01 01 0010000263 CONSOLIDATED WIDGETS 95
<ETC>
01 01 0010000263 CONSOLIDATED WIDGETS 95
01 01 0010000263 CONSOLIDATED WIDGETS 95
01 01 0010000263 CONSOLIDATED WIDGETS 95