Frage

Angenommen, ich habe 2 Tabellen, Abfrage und Rang. Ich würde gerne wissen, ob es möglich ist, die Summe der Mindestwerte für jede Abfrage in der Rangtabelle zu finden?

Ein Eintrag in die Rangtabelle erfolgt nur, wenn ein Benutzer auf ein Ergebnis für eine bestimmte Abfrage klickt.

Rang (ID, Schlüssel, Wert) Abfrage (ID, Schlüssel, Wert)

wo rank.id = query.id

Schnappschuss von 5 Einträgen

rank table
-------------
Twp0+x1uZx1Y| Twp1PK8JWhng| 16 
Twp1KU6Pgxp4| Twp1VAF0jRyI| 5
Twp2KuoJWR-8| Twp2OR5X7h78| 1 
Twp354EADhYY| Twp4AQlqjxWg| 2

query table
------------
Twp0+x1uZx1Y| |sap
Twp0-XWZ3gpk| |
Twp1CIP+oh-Q| |
Twp1KU6Pgxp4| |virtual token
Twp14RxuSBzc| |
War es hilfreich?

Lösung

Verwenden Sie eine Unterabfrage, um sich dem zusammenzuschließen query Tabelle wie diese:

select
    q.id,
    q.key,
    sum(r.minvalue) as valuesum
from
    query q
    left join (select min(value) as minvalue, id from rank group by id) r on
        q.id = r.id
group by
    q.id,
    q.key
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top