2010-10-08 2 views
0

Привет У меня есть таблица с именами и номерами, введенными вместе с другими данными. Таблица, называемая событиями, содержит много экземпляров, где имена и номера одинаковы, но другие записи разные. Я хочу выполнить поиск с использованием имен, чтобы я мог отображать число. Но в моем поиске мне нужно только вернуть один экземпляр имени. Стол как этотMySql возвращает только один экземпляр дубликатов записей

 Name Number Responisble  Position 

     Paul 8455 Chorley  t7 
     Dave 3821 PR south f5 
     Paul 8455 PR North p9 
     Paul 8455 Leyland  t6 
     Dave 3821 Ribbleton r4 

и мой сценарий это

$condition = "name LIKE 'Paul' "; 
    $result = mysql_query("SELECT * FROM events WHERE $condition ") ; 

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

сценарий не является полным, но я надеюсь, что вы можете увидеть, что результаты будут возвращать 3 результаты, но то, что я хочу, это результат с только один для каждого имени

Надеюсь, это имеет смысл! Спасибо за любую помощь

ответ

1

попробовать с помощью distinct -

SELECT DISTINCT (columns) FROM (table) WHERE (condition)

редактировать вероятно игнорировать это, неправильно понял ваш вопрос я думаю

MySql возвращают только один экземпляр дубликатов записей

3
$condition = "name LIKE 'Paul' "; 
$result = mysql_query("SELECT * FROM events WHERE $condition GROUP BY name") ; 
0

Вы можете либо использовать группу по или различны в выбранном отчете см http://dev.mysql.com/doc/refman/5.1/en/select.html

В вашем примере это будет

$condition = "name LIKE 'Paul' "; 
$result = mysql_query("SELECT * FROM events WHERE $condition GROUP BY name") ; 

while($row = mysql_fetch_array($result)) { 
0
SELECT name, number FROM events WHERE $condition GROUP BY name, number 
Смежные вопросы