MySQL-Abfrage ...

emkey

Erfahrenes Mitglied
...
Huhu
und zwar möchte ich aus einer Tabelle (MySQL) gewisse Werte auslesen.
Ich habe zwei Tabellen. Die erste schaut so aus:

'anzeigen'

Code:
id	| stadtid	| text
-----------------------------
1	| 74		| lala
2	| 2		| asdf
3	| 62		| uadda
4	| 74		| daslkd
5	| 62		| daskj
6	| 74		| djask
Es gibt kein besonderes Muster.

Die zweite Tabelle schaut so aus:

'staedte'

Code:
id	| name
-----------------
1	| Berlin
2	| Bonn
...
62	| Moers
74	| Neufeld
75	| Neukirchen-Vluyn
Auch hier kein besonderes Muster ...

Ich möchte (absteigend/aufsteigend) die Städtenamen ausgeben zu denen die meisten 'anzeigen' gehören (erste Tabelle).

Wie könnte ich das realisieren?
ich habe es mal mit
PHP:
mysql_query("SELECT * FROM anzeigen GROUP BY stadtid LIMIT 0,15");
ausprobiert ... jedoch ordnet der dann von vorne herein nach der Spalte 'stadtid' .. und das ist dann nicht absteigend oder aufsteigend.

Ich hoffe ihr könnt mir helfen.

Viele Dank für eure Mühe.

emkey
 
geht leider nicht

Bis jetzt schaut es bei mir so aus:

PHP:
$query = mysql_query("SELECT * FROM anzeigen GROUP BY stadtid");

for($a=1; $daten=mysql_fetch_array($query); $a++) {
   $topten[] = $daten["stadtid"];
}
			
foreach($topten as $stadtid) {
   $data = mysql_fetch_array(mysql_query("SELECT * FROM staedte WHERE id='".$stadtid."'"));
   echo $data["name"]."<BR>";
}

Wäre wenn ihr mir helfen könntet.


-emkey
 
-

Code:
SELECT s.name, count(s.name) as Anzahl
FROM staedte s, anzeigen a
WHERE s.pin = a.stadtid
GROUP BY s.name
ORDER BY Anzahl desc
 
Dankeschön :)

Genau Danke :)

mein Problem ist gelöst!


So gehts auch:

PHP:
			$query = mysql_query("
								SELECT
									COUNT(anzeigen.stadt) AS AnzahlAnzeigen,
									staedte.stadt,
									staedte.id
								FROM
									anzeigen
									INNER JOIN staedte ON staedte.id = anzeigen.stadt
								GROUP BY
									anzeigen.stadt
								ORDER BY
									AnzahlAnzeigen DESC
								LIMIT 15");


-emkey
 
Zurück