2013-10-31 3 views
-1

내 MySQL 데이터베이스에 우편 번호 테이블이 있습니다. PHPMyAdmin을 사용하며 PHP 코드를 사용하고 있습니다.중복을 제외하고 데이터베이스에서 레코드 가져 오기

zip_codes(id, zip, state) 

여기서 문제는 내가이 테이블에 상태의 빠른 목록을 생성 할 것입니다 :

표는 다음과 같이 보인다. 그러나 나는 99.9 % 중복 된 33,000 개 이상의 주 (각 주에 많은 우편 번호가 있음) 목록을 원하지 않습니다. 나는 예를 들어 하나의 알라바마를 보여주고 싶다. 테네시 한 명.

이렇게 레코드 세트를 가져올 수 있습니까?

+0

귀하의 질문이 너무 모호합니다 - 당신이 사용하고있는 DBMS? 귀하의 쿼리는 어떻게 생겼습니까? – ElGavilan

+1

query.eg의 끝에 "group by state"를 사용하십시오. 상태 별 zip_codes 그룹 선택 –

+1

이 경우 상태는 다른 테이블에 있어야하고 zip_codes 테이블간에 "many to one"관계가 설정되어 있어야합니다 그리고 상태 테이블! 상황이 더 간단했을 것입니다! – Arjun

답변

0

사용 distinct

SELECT DISTINCT state FROM zip_codes 
+0

감사합니다. 기억하기 쉽습니다. 감사합니다. :) – SherwoodPro

+0

많은 경우 GROUP BY가 SELECT DISTINCT를 수행하는 것보다 효율적입니다. 물론 그것은 데이터 및 원하는 결과에 따라 다릅니다. 나는 확실하게 두 가지 방법을 모두 프로파일 링 해보려고했다. – ElGavilan

관련 문제