2011-08-31 114 views
0

我想從一個自動完成(jQuery UI)的MySQL表中取出名稱。有重複的名稱,我不想在建議中顯示它們。我也需要在同一個查詢中選擇其他列。這可能嗎?我自動取款機使用此查詢,但仍存在重複的「S_NAME」返回..幫助需要與MySQL DISTINCT

SELECT DISTINCT s_name, s_time, s_auto, s_inout FROM testtable where s_name like '%" . mysql_real_escape_string($_GET['term']) . "%' 
+1

當名有多個不同的'S_TIME,s_auto,s_inout'值應發​​生什麼情況?你想在這些行中顯示什麼? –

+0

因此,如果有兩個(或多個)具有相同's_name'的行,那麼查詢應該返回s_time'和其他列?兩個(或更多)值中的哪一個? –

回答

1

使用GROUP BY (man page)

SELECT s_name, s_time, s_auto, s_inout 
FROM testtable where s_name like '%" . mysql_real_escape_string($_GET['term']) . "%' 
GROUP BY s_name 
+3

但請注意's_time,s_auto,s_inout'的內容未定義。 –

+0

同意有警告,並感謝您指出,但這應該解決在這種情況下,我認爲問題。 – Treffynnon

+0

謝謝!這樣做的工作......--) –

0

DISTINCT將適用於整個行 - 不只列,你把它貼在眼前。你可以在從MySQL獲取數據之後在PHP中應用過濾嗎?