Pergunta

Vamos dizer que eu tinha a tabela a seguir:

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

Eu quero juntar-se à soma de todas as ids, digamos, sobre toda a mesa para que ele se parece com:

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

Eu tentei fazer um LEFT JOIN em si mesmo, mas eu só obter um resultado 1 row -? Quaisquer pensamentos

Obrigado!

Foi útil?

Solução

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

Outras dicas

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

Este é um inline selecionar e eles podem ser caros. Mas funciona aqui.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top