테이블에서 3
열을 선택해야하지만 모든 열의 각 값이이 열의 결과 집합에서 고유해야합니다.각 열에 고유 표백
이 쿼리 :
SELECT DISTINCT TOP 10 a, b, c
FROM x
이 10
별개의 세트를 반환합니다.
어떻게해야합니까?
테이블에서 3
열을 선택해야하지만 모든 열의 각 값이이 열의 결과 집합에서 고유해야합니다.각 열에 고유 표백
이 쿼리 :
SELECT DISTINCT TOP 10 a, b, c
FROM x
이 10
별개의 세트를 반환합니다.
어떻게해야합니까?
WITH q AS
(
SELECT a, b, с, ROW_NUMBER() OVER (ORDER BY a, b, c) AS rn
FROM mytable
)
SELECT TOP 10 a, b, c
FROM q q1
WHERE NOT EXISTS
(
SELECT 1
FROM q
WHERE q.rn < q1.rn
AND q.a = q1.a
)
AND NOT EXISTS
(
SELECT 1
FROM q
WHERE q.rn < q1.rn
AND q.b = q1.b
)
AND NOT EXISTS
(
SELECT 1
FROM q
WHERE q.rn < q1.rn
AND q.c = q1.c
)
this question 원하는 것을 제공하지 않습니까?
이것이 한 번에 가능할 지 모르겠습니다. 나는 테이블 변수를 만들어 이것을 할 것이다.
DECLARE @Results TABLE
(
a varchar(100),
b varchar(100),
c varchar(100)
)
INSERT @Results(a)
SELECT DISTINCT a FROM myTable
INSERT @Results(b)
SELECT DISTINCT b FROM myTable
INSERT @Results(c)
SELECT DISTINCT c FROM myTable
SELECT a,b,c FROM @Results
그것은 당신이 무엇을 의미하는지 이해하기 어렵다. 아마도 데이터의 예와 예상 결과의 예가 도움이 될 수 있습니까? – spender