Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Alternate Results with ORDER BY clause

Tags:

sql

postgresql

CREATE TABLE TEST (
  customername varchar(50)
);

INSERT INTO TEST VALUES('CUSTOMER 1');
INSERT INTO TEST VALUES('CUSTOMER 1');
INSERT INTO TEST VALUES('CUSTOMER 1');
INSERT INTO TEST VALUES('CUSTOMER 2');
INSERT INTO TEST VALUES('CUSTOMER 2');
INSERT INTO TEST VALUES('CUSTOMER 2');

SELECT * FROM TEST ORDER BY ???

What ORDER BY clause should I put to get the following result ?:

"CUSTOMER 1"
"CUSTOMER 2"
"CUSTOMER 1"
"CUSTOMER 2"
"CUSTOMER 1"
"CUSTOMER 2"
like image 477
markus Avatar asked Aug 26 '11 16:08

markus


1 Answers

SELECT  customername
FROM    TEST
ORDER BY ROW_NUMBER() OVER ( PARTITION BY customername ORDER BY customername )
like image 75
Martin Smith Avatar answered Sep 19 '22 10:09

Martin Smith