markus
markus

Reputation: 6588

Alternate Results with ORDER BY clause

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"

Upvotes: 7

Views: 4400

Answers (1)

Martin Smith
Martin Smith

Reputation: 453990

SELECT  customername
FROM    TEST
ORDER BY ROW_NUMBER() OVER ( PARTITION BY customername ORDER BY customername )

Upvotes: 14

Related Questions