2011-01-26 14 views
0

親愛なるサークル/ママ私はテーブルから重複をソートしようとしています。 名前が同じstreetnameを持っているかどうかをチェックして、それらの最初の結果のみを表示して、ダブルスを除いて一意の名前を付けたいとします。 私は別名(名前)とグループをステートメントで試しましたが、役に立たなかった。 グループによっては終わったlimmiting私の結果ダブレットを取り除く

$klantquery = "SELECT name, ID, street, tel, email FROM customers where name LIKE '%$search%' ORDER BY name ASC";  

このクエリの作品が、私は、余分なものを取捨選択する必要があるすべてのレコードを示して?ユニークな結果のみを表示することができます。 MySQLとPHP を使用して

IAMは、だから今、私はこのクエリを使用:。

$ klantquery = "DISTINCTナーム、straat、電子メール、huisnummer、plaats、FROM日付SELECT" を$ GLOBALS [ "klanten"]「。ここでnaam LIKE '%$ klantsearch%' ORDER BY naam ASC ";

作品は魅力的ですが、結果のID行が省略されていますので、無駄ですか? 結果にIDフィールドを含めるにはどうすればよいですか? ロジックはどこですか?

+0

どの機能を使用できるかを知るためには、使用しているデータベースを知る必要があります(たとえば、TOP)。複数の場合に、どのアドレスを選択するかを知る必要があります。 –

+0

phpとmysqlと名前の最初の出現と最初の日付フィールドのための優先順位との組み合わせを入力し、その後、私は推測するID – Koenraad

答えて

0

最初に私は必要なレコードを選択してから別のIDでサブクエリを追加しましたが、実際にはエレガントではありません。

$klantquery = "SELECT Distinct naam,straat,email,huisnummer,plaats,date FROM ".$GLOBALS["klanten"]." where naam LIKE '%$klantsearch%' ORDER BY naam ASC";     

while ($result=$klantpaging->result_assoc()) { 

    $subquery = "SELECT ID,naam,straat FROM ".$GLOBALS["klanten"]." where naam='".addslashes($result['naam'])."' AND straat='".$result['straat']."'"; 
    $subresult = mysql_query($subquery) or die("Query failed : " . mysql_error()); 
    while ($subline = mysql_fetch_assoc($subresult)) { 
    $result[ID] = $subline[ID]; 
    } 
    $klantrecords[] = $result; 
} 
関連する問題