Thread: How to find records with the same field?

How to find records with the same field?

From
"Joost Kraaijeveld"
Date:
I have a table with column1, column2, column3 and column4. How do I get all records, sorted by column4 that have the
samecolumn1,column2 and column3?
 

TIA

 

Joost


Re: How to find records with the same field?

From
Devrim GUNDUZ
Date:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


Hi,

On Tue, 20 Jul 2004, Joost Kraaijeveld wrote:

> I have a table with column1, column2, column3 and column4. How do I get
> all records, sorted by column4 that have the same column1,column2 and
> column3?

SELECT * from table_name WHERE (c1=c2) AND (c2=c3) ORDER BY c4;

will work, I think:
===================
test=> CREATE TABLE joost (c1 varchar(10), c2 varchar(10), c3 varchar(10),
c4 varchar(10));
CREATE TABLE
test=> INSERT INTO joost VALUES ('test1','test1','test1','remark');
INSERT 1179458 1
test=> INSERT INTO joost VALUES ('test1','test1','test1','remark2');
INSERT 1179459 1
test=> INSERT INTO joost VALUES ('test1','test2','test3','nevermind');
INSERT 1179460 1
test=> SELECT * from joost ;
  c1   |  c2   |  c3   |    c4
- -------+-------+-------+-----------
 test1 | test1 | test1 | remark
 test1 | test1 | test1 | remark2
 test1 | test2 | test3 | nevermind
(3 rows)

test=> SELECT * from joost WHERE (c1=c2) AND (c2=c3) ORDER BY c4
test-> ;
  c1   |  c2   |  c3   |   c4
- -------+-------+-------+--------
 test1 | test1 | test1 | remark
 test1 | test1 | test1 | remark
(2 rows)
===================

Regards,

- --
Devrim GUNDUZ
devrim~gunduz.org                devrim.gunduz~linux.org.tr
            http://www.tdmsoft.com
            http://www.gunduz.org
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (GNU/Linux)

iD8DBQFA/OoHtl86P3SPfQ4RAqdmAKDVyBy6LFR1zFk4phuZnkHdaOk4SACaAwz9
JUhJUBtGoabox8VG9EpTkBQ=
=SfQ5
-----END PGP SIGNATURE-----


Re: How to find records with the same field?

From
"Peter Alberer"
Date:
Hi joost,

I think the following should work:

include the table 2 times in your query and join the two instances in
the query by the 3 columns.

Example:

Select
  t1. column4, t1.column1, t1.column2, t1.column3
From
  yourtable t1, yourtable t2
Where
  t1.column1 = t2.column1
    and t1.column2 = t2.column2
    and t1.column3 = t2.column3
order by
  t1.column4;

>-----Ursprüngliche Nachricht-----
>Von: pgsql-general-owner@postgresql.org [mailto:pgsql-general-
>owner@postgresql.org] Im Auftrag von Joost Kraaijeveld
>Gesendet: Dienstag, 20. Juli 2004 11:39
>An: pgsql-general@postgresql.org
>Betreff: [GENERAL] How to find records with the same field?
>
>I have a table with column1, column2, column3 and column4. How do I get
all
>records, sorted by column4 that have the same column1,column2 and
column3?
>
>TIA
>
>
>
>Joost
>
>
>---------------------------(end of
broadcast)---------------------------TIP
>9: the planner will ignore your desire to choose an index scan if your
>joining column's datatypes do not match


Re: How to find records with the same field?

From
"Joost Kraaijeveld"
Date:
Thanks everyone for answering. Apparently my question was not clear enough.
 
I want something like this:
 
select col1, col2,col3, col4 
from table1
where
col1 =col1 and
col2 = col2 and
col3 = col3
order by col4
 
But if I run this query I get all the records in the table and not just the (double) ones with the same columns.
 
TIA
 
Joost
 

Re: How to find records with the same field?

From
Michael Kleiser
Date:
You can find the duplicates with a self-join:

select t1.col1, t1.col2, t1.col3, t1.col4
  from table1 as t1, table1 as t2
  where
  t1.oid != t2.oid
  t1.col1 = t2.col1 and
  t1.col2 = t2.col2 and
  t1.col3 = t2.col3
  order by t1.col4;



Joost Kraaijeveld schrieb:
> Thanks everyone for answering. Apparently my question was not clear enough.
>
> I want something like this:
>
> select col1, col2,col3, col4
> from table1
> where
> col1 =col1 and
> col2 = col2 and
> col3 = col3
> order by col4
>
> But if I run this query I get all the records in the table and not just the (double) ones with the same columns.
>
> TIA
>
> Joost
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
>                http://archives.postgresql.org


Re: How to find records with the same field?

From
Michael Kleiser
Date:
Sorry, iI frogot an "and" after "1.oid != t2.oid"

select t1.col1, t1.col2, t1.col3, t1.col4
   from table1 as t1, table1 as t2
   where
   t1.oid != t2.oid AND
   t1.col1 = t2.col1 and
   t1.col2 = t2.col2 and
   t1.col3 = t2.col3
   order by t1.col4;
>
>
>
> Joost Kraaijeveld schrieb:
>
>>Thanks everyone for answering. Apparently my question was not clear enough.
>>
>>I want something like this:
>>
>>select col1, col2,col3, col4
>>from table1
>>where
>>col1 =col1 and
>>col2 = col2 and
>>col3 = col3
>>order by col4
>>
>>But if I run this query I get all the records in the table and not just the (double) ones with the same columns.
>>
>>TIA
>>
>>Joost
>>
>>
>>---------------------------(end of broadcast)---------------------------
>>TIP 6: Have you searched our list archives?
>>
>>               http://archives.postgresql.org
>
>
>