Domanda

Supponiamo che io ho 2 tabelle, query e rango. Vorrei sapere se è possibile trovare la somma dei valori minimi per ogni query nella tabella rango?

Una voce alla tabella di rango è fatta solo in cui un utente fa clic su un risultato per una determinata query.

rango (id, key, value) query (id, key, value)

dove rank.id = query.id

Istantanea di 5 voci

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| |
È stato utile?

Soluzione

Utilizzare una sottoquery per unirsi al tavolo query, in questo modo:

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top