如何僅使用PHP和MYSQL從列中檢索唯一值?從一列中選擇不同的值
這裏的表1的內容:
id value
_____________________
1 Max Power
2 Homer Simpson
3 Max Power
4 Lisa Simpson
5 Lisa Simpson
所以,很顯然,我希望這些結果:
- 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();
那麼,你們覺得呢?這讓我瘋狂!
薩
你的代碼中有'的mysql_query錯誤(「SELECT DISTINCT值FROM表1,$ DBLINK);'不要有收盤配額。 –
你的DISTINCT查詢應該可以正常工作(即使你指定了DISTINCT,你也會得到一個「隨機」的ID,而不是一個穩定的結果)。也許,字符串有些不同,可能是空格(正如阿齊茲的答案所暗示的),但可能存在某種編碼問題。 –
@ Clockwork-Muse Whitespace在這種情況下不是問題。今晚我會繼續絞盡腦汁。 –