Oacle 조회 중복 되 지 않 는 다 열 sql 쓰기

1379 단어 Oacle
Oracle 에서 조회 표 customer 중 t. address, t. customername 반복 되 지 않 는 열:
일반적인 생각 은:

select distinct t.address , t.customer_name from customer t

그러나 이런 문법 은 oracle 에서 잘못된 것 이다.
그래서 두 번 째 생각 이 있다.

select count(*) from ( select distinct t.address , t.customer_name from customer t)

이런 서법 은 정확 하지만, 더 좋 은 서법 이 있 습 니까?
돌발 기상 의 세 번 째, | | 의 연결 기능 을 충분히 이용 하 였 습 니 다:

select   count(distinct t.address ||t.customer_name) from  customer t

이렇게 하면 되 잖 아, 사실은 아니 야, 아래 의 상황 을 보면 알 수 있어.
첫 번 째 기록 이:

address= testAddT ,customer_name=omcat

제2 조 기록

address= testAdd ,customer_name=Tomcat

이 경우 t. address | | t. customername 에서 얻 은 값 은 모두 같 습 니 다. 그러나 분명히 이 두 기록 은 다 릅 니 다. 이런 문 제 를 어떻게 해결 합 니까? 바로 특수 문 자 를 넣 어서 해결 하 는 것 입 니 다. 예 를 들 어 우 리 는 이 두 열 필드 에 \ # 이런 문자 내용 이 나타 나 지 않 을 것 이 라 고 확신 합 니 다. 하기 쉽 습 니 다. 이때 다음 과 같은 완벽 한 sql 문 구 를 쓸 수 있 습 니 다.

select   count(distinct t.address ||'#'||t.customer_name) from  customer t

마지막 으로 설명: 서로 다른 데이터 베이스 중의 sql 조회 문법 은 모두 차이 가 있 을 수 있 기 때문에 특정한 데이터 베이스 에 있어 사상 은 참고 할 수 있 기 때문에 유연 한 문제 해결 사상 을 이해 하 는 것 이 중요 하 다.

좋은 웹페이지 즐겨찾기