데이터베이스 테이블에서 서로 다른 두 필드의 고유 한 조합을 얻을 수 있습니까? 그렇다면 SQL 예제를 제공 할 수 있습니까?
답변:
간단히 :
select distinct c1, c2 from t
또는
select c1, c2, count(*)
from t
group by c1, c2
Operand should contain 1 column(s)
오류, 문제는 당신이 아마하고있는 것입니다 select distinct(c1, c2) from t
그리고 당신은 여기에 괄호를 사용할 수 없습니다. 그것이 내가 여기에 온 방법입니다.
두 필드에서만 고유 한 값을 원하고 그와 함께 다른 필드를 반환하려는 경우 다른 필드에는 어떤 종류의 집계 (합계, 최소값, 최대 값 등)가 있어야하며 구분하려는 두 열이 표시되어야합니다. group by 절. 그렇지 않으면 Decker가 말한 것과 같습니다.
내 어리석은 생각을 공유하십시오.
아마도 c1에서만 구별을 선택할 수 있지만 c2에서는 선택할 수 없으므로 구문은 각 열에 대한 한정자 가 select ([distinct] col)+
어디에 있을 수 있습니다 distinct
.
그러나 생각한 후에는 단 하나의 열에서만 구별되는 것이 넌센스 라는 것을 알았습니다 . 다음 관계를 취하십시오.
| A | B
__________
1| 1 | 2
2| 1 | 1
우리 select (distinct A), B
가 그렇다면 적절한 B
것은 A = 1
무엇입니까?
따라서 distinct
는 statement
.