>  기사  >  php教程  >  SQL에서의 구별 사용(네 가지 예 분석)

SQL에서의 구별 사용(네 가지 예 분석)

高洛峰
高洛峰원래의
2016-12-13 09:31:292189검색

mysql을 사용할 때 특정 필드에서 중복되지 않은 레코드를 쿼리해야 하는 경우가 있습니다. mysql은 중복된 레코드를 필터링하고 하나만 유지하기 위해 고유한 키워드를 제공하지만 중복되지 않은 레코드를 반환하는 데에만 사용되는 경우가 많습니다. . 번호를 사용하여 중복 레코드 없이 모든 값을 반환합니다. 그 이유는 independent는 대상 필드만 반환할 수 있고 다른 필드는 반환할 수 없기 때문입니다. 이 문제는 오랫동안 저를 괴롭혔습니다. 웹사이트의 경우에는 의심할 여지없이 효율성에 직접적인 영향을 미치기 때문에 많은 시간을 낭비했습니다.

테이블에 중복된 값이 포함되어 있을 수 있습니다. 이는 문제가 되지 않지만 때로는 고유한 값만 나열하려는 경우도 있습니다. Unique 키워드는 고유한 고유 값을 반환하는 데 사용됩니다.

표 A:

SQL에서의 구별 사용(네 가지 예 분석)

예시 1

select distinct name from A

실행 후 결과는 다음과 같습니다.

SQL에서의 구별 사용(네 가지 예 분석)

예제 2

select distinct name, id from A

실행 후 결과는 다음과 같습니다.

SQL에서의 구별 사용(네 가지 예 분석)

실제로는 " name+id"를 사용하여 중복된 항목과 고유 항목을 제거합니다. name과 id에 동시에 작동합니다. 이 방법은 Access와 SQL Server에서 동시에 지원됩니다.

예 3: 통계

select count(distinct name) from A;   --表中name去重后的数目, SQL Server支持,而Access不支持
select count(distinct name, id) from A;   --SQL Server和Access都不支持

예 4

select id, distinct name from A;   --会提示错误,因为distinct必须放在开头

기타

고유 명령문의 select 문에 표시된 필드는 고유 필드로 지정해야 하며 다른 필드는 불가능합니다. 예를 들어, 테이블 A에 "Remarks" 열이 있는 경우 고유한 이름과 해당 "Remarks" 필드를 가져오려는 경우 고유한 이름을 통해 직접 수행하는 것은 불가능합니다.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.