SQL Anfrage mit distinct

D

Dobermaniac

Folgendes Problem zu einem Warplaner....
ich habe eine tabelle mit den spalten

MATCHID CLAN CLANURL ZEIT

so jetzt möchte ich, dass er mir alle clans EINMAL auflistet. und hinter dem CLANNAMEN die Anzahl der Matches anzeigt, also wie oft der Clanname in der Tabelle vorkommt..
PHP:
$result=mysql_query("select distinct clan from mm_match  ");
ergibt folgende ausgabe:
Clan --- Matches
myClan -- 6

das klappt auch soweit ganz gut....
jetzt will ich aber auch die URL des clans anzeigen lassen....
und hier komme ick ned weiter....wie müsste die select anweisung aussehen, wenn ick alle werte der tabelle zur verfügung haben will,
aber in der ausgabe, dürfen clans nicht doppelt gezählt werden ??????!!!!!
wenn ich den selectbefehl irgendwie verändere, funzt die distnict anweisung nicht mehr, sprich er gibt clans auch mehrmals aus....
PHP:
$result=mysql_query("select distinct * from mm_match  ");
oder
PHP:
$result=mysql_query("select distinct clan,url from mm_match  ");

hat jemand eine idee ???
hier das komplette script....
PHP:
<table width="97%" border="0" cellspacing="0" cellpadding="0" align="left">
  <tr> 

    <font size="1"> <font face="Verdana, Arial, Helvetica, sans-serif">
      <?php 


 $serverid  = mysql_connect  ( $sqlhost, $sqluser, $sqlpass);
                           echo mysql_error($serverid);
              mysql_select_db($database);
$result=mysql_query("select distinct clan from mm_match  ");
$data=mysql_fetch_array($result);
while($data = mysql_fetch_array($result)) { ?>
</font></font> </td>
    <td width="943"> 
      <div align="center"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"> 
<?  $cont = 1;
$counter++; ?>
<?
$clan = $data[clan] ;
$clanurl = $data[clanurl] ;
echo " <a href=\"$clanurl\">$clan</a><br> "; 
	              $sqlbefehl= "select ID from mm_match where clan = '$clan'";
              $ergebnis  = mysql_query($sqlbefehl, $serverid);
              $anzahl = mysql_num_rows($ergebnis); ?><br>
<? echo "$anzahl <br><br>";   ?>
 
 <?
if (!isset($cont)) {
echo "Counter initialisiert";
$counter = 1; }
if ($counter == 10) {
echo "</td><tr>";

$counter = 0;
        }
else {
 echo " </td>  ";
       
}
?>

<?
}
?>
        </font> </div>
    <td width="1"> 
  </table>

danke im vorraus......ps ick habe wenig ahnung von php und sql, wäre also über ne fertige lösung dankbar
 
PHP:
$query = "SELECT DISTINCT CLAN, MATCHID, CLANURL, ZEIT, sum(CLAN = '".$clanname."') as COUNT_OF_WARS;";

damit hat man ein zusätzliches feld COUNT_OF_WARS, in dem die anzahl der gemachten cws drinsteht.

so sollte es gehen.
 
Hey danke, aber es gibt noch eine einfachere lösung:

SELECT id, Nachname, Vorname, Email FROM ansprechpartner GROUP BY Email

Bedeutet: id, Nachname, Vorname & Email werden ausgelesen, wobei Email nicht doppelt vorkommt!

Haps auch grad heute erst rausgefunden :)
 
Zurück