Rouven: mysql: GROUP BY in Kombination mit ORDER BY

Beitrag lesen

Hello,

SELECT d.dealer_id, b.bid_value FROM bids b, dealers d WHERE d.dealer_id = b.bid_bidder GROUP BY d.dealer_id ORDER BY b.bid_value

das ist nur in MySQL gültig...Jedes (in dieser Beziehung) vernünftige DBMS hätte dir das Statement vor die Füße geworfen, weil du eine nicht-gruppiert und nicht-aggregierte Spalte (b.bid_value) selektierst. Du gehst also gerade auf eine Menschenmenge zu, gruppierst die Menschen nach roten und grünen Pullovern und erwartest am Ende eine Aussage machen zu können, wer von denen eine Brille trägt...Merke: SELECT bei GROUP BY nur mit

  • Spalten aus der GROUP BY Klausel
  • Spalten mit SUM, MAX, ...
    Letzteres löst sogar unmittelbar dein Problem, lass dir aus der Gruppe das minimale geben:
    SELECT d.dealer_id, MIN(b.bid_value) AS minium_bid...

MfG
Rouven

--
-------------------
Eine Bilanz ist wie der Bikini einer Frau. Sie zeigt fast alles, aber verdeckt das Wesentliche  --  Günter Stotz, Regierungsdirektor des baden-württembergischen Wirtschaftsministeriums