Oracle SQL distinct count without outputting columns that make it distinct -


i have table want output 1 field can part of queries where statement (where sid in (this new query)).

however because of can include sid in select, removing needed make distinct count work.

so select * tablea gives me:

sid     deta    detb 22222   8159    3763 22222   8159    3763 44444   4739    6135 44444   4739    6135 44444   4739    6134 44444   4739    6135 55555   5937    0223 55555   5936    0223 66666   8577    9497 66666   8577    9497 66666   8577    9497 66666   8576    9496 66666   8577    9497 88888   3595    0919 88888   3595    0919 88888   3595    0919 88888   3595    0914 77777   5678    3456 

then select distinct sid, deta, detb tablea gives me:

sid     deta    detb 22222   8159    3763 44444   4739    6134 44444   4739    6135 55555   5936    0223 55555   5937    0223 66666   8576    9496 66666   8577    9497 88888   3595    0914 88888   3595    0919 77777   5678    3456 

the data want this:

sid     deta    detb 44444   4739    6134 44444   4739    6135 55555   5936    0223 55555   5937    0223 66666   8576    9496 66666   8577    9497 88888   3595    0914 88888   3595    0919 

which can done using count of distinct, final output want this:

sid      44444   55555   66666    88888    

but cant achieve when outputting 1 field.

use group by:

select sid tablea group sid having count(distinct deta || ':' || detab) > 1; 

if wanted full rows (instead of sid values), use window functions:

select a.* (select a.*, count(distinct deta || ':' || detab) on (partition sid) cnt       tablea      ) cnt > 1; 

Comments

Popular posts from this blog

java - WARN : org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/board/] in DispatcherServlet with name 'appServlet' -

html - Outlook 2010 Anchor (url/address/link) -

android - How to create dynamically Fragment pager adapter -