[MySQL] Problem mit Query

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Antworten
Benutzeravatar
chriss713
Mitglied
Beiträge: 229
Registriert: 06.06.2005 14:06

[MySQL] Problem mit Query

Beitrag von chriss713 »

Hallo!

Ich habe ein Problem mit einer SQL-Abfrage, die genau das machen sollen, was das Beispiel 3.6.4. im MySQL-Manual (http://dev.mysql.com/doc/refman/4.1/en/ ... p-row.html) macht:

Code: Alles auswählen

SELECT article, dealer, price
FROM   shop s1
WHERE  price=(SELECT MAX(s2.price)
              FROM shop s2
              WHERE s1.article = s2.article);
Leider funktioniert das nicht! Wenn ich die Abfrage absetzte, steigt die Prozessorlast auf nahezu 100%, ein Ergebnis bekomme ich jedoch nicht. :(
Wenn ich die WHERE-Klausel im Sub-Select weglasse, kommt immerhin ein Ergebnis zurück.

Ach ja: Verwende MySQL 4.1 auf Windows Server 2003.

Wer weiß Rat?
Schonmal danke im Voraus!
Benutzeravatar
netzmeister
Ehemaliges Teammitglied
Beiträge: 1146
Registriert: 02.05.2003 20:59
Wohnort: Freiburg
Kontaktdaten:

Beitrag von netzmeister »

Hallo,
versuch mal folgendes:

Code: Alles auswählen

SELECT shop.*
FROM shop LEFT JOIN shop AS s2
ON shop.article=s2.article AND shop.price<s2.price
WHERE s2.article IS NULL
Gruß netzmeister
Die "Suche" ist euer Freund
Benutzeravatar
chriss713
Mitglied
Beiträge: 229
Registriert: 06.06.2005 14:06

Beitrag von chriss713 »

Hab ich auch schon, gleiches Resultat.
Benutzeravatar
netzmeister
Ehemaliges Teammitglied
Beiträge: 1146
Registriert: 02.05.2003 20:59
Wohnort: Freiburg
Kontaktdaten:

Beitrag von netzmeister »

chriss713 hat geschrieben:Hab ich auch schon, gleiches Resultat.
Genaue Versionsnummer von deinem MySQL-Server?
Gruß netzmeister
Die "Suche" ist euer Freund
Benutzeravatar
chriss713
Mitglied
Beiträge: 229
Registriert: 06.06.2005 14:06

Beitrag von chriss713 »

netzmeister hat geschrieben:Genaue Versionsnummer von deinem MySQL-Server?
4.1.12


Hab mir jetzt was zurecht gebastelt, das funktioniert:

Code: Alles auswählen

SELECT article, dealer, price
FROM (
      SELECT s2.article, s2.dealer, s2.price
      FROM shop s2
      ORDER BY s2.price DESC
     )
GROUP BY article
Antworten

Zurück zu „Coding & Technik“