Domanda

Diciamo che ho avuto la seguente tabella:

id    num_votes    total_rating
-------------------------------
1     20           30
2     40           13
3     15           25

Voglio unire la somma di tutti ids, diciamo, su tutto il tavolo in modo che appaia come:

id    num_votes    total_rating    sum
--------------------------------------
1     20           30              6
2     40           13              6
3     15           25              6

Ho provato a fare un LEFT JOIN su se stessa, ma ho solo un risultato 1 fila - ogni pensiero

Grazie!

È stato utile?

Soluzione

SELECT  t.*, idsum
FROM    (
        SELECT  SUM(id) AS idsum
        FROM    mytable
        ) q,
        mytable t

Altri suggerimenti

SELECT id, num_votes, total_rating, (SELECT SUM(id) FROM `table`) AS sum FROM `table`

Questa è una linea selezionare e possono essere costosi. Ma funziona qui.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top