Альтернативные результаты с предложением ORDER BY - PullRequest
6 голосов
/ 26 августа 2011
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 ???

Какое предложение ORDER BY я должен поставить, чтобы получить следующий результат?:

"CUSTOMER 1"
"CUSTOMER 2"
"CUSTOMER 1"
"CUSTOMER 2"
"CUSTOMER 1"
"CUSTOMER 2"

1 Ответ

12 голосов
/ 26 августа 2011
SELECT  customername
FROM    TEST
ORDER BY ROW_NUMBER() OVER ( PARTITION BY customername ORDER BY customername )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...