2014-01-09 7 views
0

PHP와 MYSQL을 사용하여 열에서 고유 값만 검색하는 방법은 무엇입니까?하나의 열에서 고유 값 선택

id  value  
_____________________ 
1  Max Power 
2  Homer Simpson 
3  Max Power 
4  Lisa Simpson 
5  Lisa Simpson 

그래서, 분명히, 나는이 결과에서 원하는 : 여기

는 표 1의 내용이다

- Max Power 
- Homer Simpson 
- Lisa Simpson 

을하지만, 난 여전히 받고 있어요 :

- Max Power 
- Homer Simpson 
- Max Power 
- Lisa Simpson 
- Lisa Simpson 

SQL 문 시도한 내용은 다음과 같습니다.

SELECT DISTINCT value FROM column1 

SELECT * FROM column1 GROUP BY value 

은 분명히이 작동합니다. 그래서 여기에 내 전체 SQL 문이 거기에 뭔가 비린내가있어 :

<?php 
$dblink = mysql_connect(‘host’, ‘username’, ‘password’) or die(mysql_error()); 
mysql_select_db(‘database_name); 

$rs = mysql_query('SELECT DISTINCT value FROM table1, $dblink); 

while($row = mysql_fetch_array($rs)) { 

$rowValue = $row['value']; 

$explodeRowValue = (explode("||",$rowValue)); 

foreach ($explodeRowValue as $value_name) { 
    $data[] = array(
      'key' => $value_name, 
      'value' => $value_name 
     ); 
} 
} 
echo json_encode($data); 
flush(); 

그래서 너희들은 어떻게 생각하니? 그것은 나를 미쳤다!

사르

+0

귀하의 코드 ('표 구별 값 $의 DBLINK를 선택)는 mysql_query'에 오류가보십시오,'필요 없다 닫는 할당량. –

+0

당신의'DISTINCT' 질의는 정상적으로 작동 할 것입니다 ('SELECT *'는 당신이'DISTINCT'를 지정했다 할지라도 안정된 결과가 아닌 "random"id를 얻을 것입니다). 아마, 문자열에 대해 뭔가 다른 공백 (Aziz의 대답이 암시하는 것처럼)이 있을지도 모르지만 일종의 인코딩 문제 일 수 있습니다. –

+0

@ Clockwork-Muse 공백은이 경우 문제가되지 않습니다. 나는 오늘 밤 내 머리를 계속 갈아 입을거야. –

답변

0

이 시도 :

SELECT DISTINCT TRIM(value) FROM table1 
+0

트림은 빈 값을 반환합니다! 그래서 해결책은 아닙니다. 조언은 Thx –

0

$rs = mysql_query("SELECT DISTINCT value FROM table1", $dblink); 
+0

Given 그의 코드가 닫히지 않고 all_를 실행해서는 안된다고 생각합니다. 문제가 해결 될지 의심 스럽습니다. –

+0

@ user1844933 잡아 주셔서 감사합니다.하지만 문제가 아니 었습니다. 중복 된 코드가 여전히 남아 있습니다. –

+0

테이블 이름은 무엇입니까? tbl 이름 column1 다음 "SELECT DISTINCT 값 FROM column1" – user1844933