Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

LucasDG

[Resolvido] Consulta mysql - comparação de vários valores

Recommended Posts

olá, estou com problemas pra fazer uma consulta no MySQL e queria saber se alguem pode ajudar

 

tenho uma tabela com os seguintes campos

código do usuario: numero inteiro qualquer

código do jogo: numero inteiro qualquer

favorito: 1 pra favorito / 0 para não favorito

 

quero fazer uma consulta que retorne uma lista com a quantidade de jogos favoritos em comum entre um usuário que eu escolher e todos os outros usuarios

 

ex da tabela:

id_user | id_game | favorito

23 | 12 | 1

23 | 15 | 1

23 | 17 | 1

30 | 12 | 0

30 | 15 | 1

30 | 17 | 1

39 | 12 | 1

39 | 15 | 1

39 | 17 | 1

 

a consulta que eu quero, se fosse definido o usuario 23, retornaria:

 

usuario | favoritos em comum

30 | 2

39 | 3

 

se alguem puder ajudar agradeço muito

Compartilhar este post


Link para o post
Compartilhar em outros sites

select

id_user, count(id_game)

from tabela

where

id_game in (select id_game from tabela where id_user = 23 and favorito=1)

and id_user <> 23

and favorito = 1

GROUP BY id_user

Compartilhar este post


Link para o post
Compartilhar em outros sites

olá, estou com problemas pra fazer uma consulta no MySQL e queria saber se alguem pode ajudar

 

tenho uma tabela com os seguintes campos

código do usuario: numero inteiro qualquer

código do jogo: numero inteiro qualquer

favorito: 1 pra favorito / 0 para não favorito

 

quero fazer uma consulta que retorne uma lista com a quantidade de jogos favoritos em comum entre um usuário que eu escolher e todos os outros usuarios

 

ex da tabela:

id_user | id_game | favorito

23 | 12 | 1

23 | 15 | 1

23 | 17 | 1

30 | 12 | 0

30 | 15 | 1

30 | 17 | 1

39 | 12 | 1

39 | 15 | 1

39 | 17 | 1

 

a consulta que eu quero, se fosse definido o usuario 23, retornaria:

 

usuario | favoritos em comum

30 | 2

39 | 3

 

se alguem puder ajudar agradeço muito

 

Pelo que entendi .....

 

 

SELECT A.ID USER AS USER,COUNT(DISTINCT B.ID_USER) AS FAV_EM_COMUM
FROM TABELA A,TABELA B
WHERE A.FAVORITO = 1
AND B.ID_GAME = A.ID_GAME
AND B.ID_USER != A.ID.USER
GROUP BY A.ID

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.