Ir para conteúdo

POWERED BY:

Arquivado

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

Daniel-Lopes

query - count de post x count usuários

Recommended Posts

Tudo bom pessoal?

 

Estou precisando montar uma query, mas não sei se o mySql vai conseguir me retornar o resultado da maneira que preciso.

 

Eu tenho uma tabela de usuários (user_profile) e outra tabela de postagens (post).

Estou precisando realizar uma consulta com o resultado da seguinte maneira

 

total de usuários / total de postagens

10 10

6 5

5 8

 

Mas até o monento so consegui.

user_id / total postagens

1 10

2 10

3 5

....

 

A aquery que consegui este resultado é essa:

 

 

SELECT 
  COUNT(`post`.`id_post`) AS `photos`,
  `user_profile`.`id_user`
FROM
  `post`
  RIGHT OUTER JOIN `user_profile` ON (`post`.`id_user` = `user_profile`.`id_user`)
GROUP BY
  `user_profile`.`id_user`

Alguém sabe se eu consigo um resultado melhor ou terei que tratar o resultado no php ?

 

Compartilhar este post


Link para o post
Compartilhar em outros sites


SELECT COUNT(`post`.`id_post`) AS `photos`,

COUNT(`user_profile`.`id_user`) AS `user`,

`user_profile`.`id_user`

FROM `post`

RIGHT OUTER JOIN `user_profile` ON (`post`.`id_user` = `user_profile`.`id_user`)

GROUP BY `user_profile`.`id_user`

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Motta,

Eu tentei isso, alias foi uma das primeira coisas que tentei... mas infelizmente não deu veja:

photos - user - id_user

223 223 1
262 262 2
5 5 4
491 491 10
202 202 11

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu queria que meu resultado viesse

 

10 usuários postaram 20 vezes

15 usuários postaram 18 vezes

21 usuários postaram 10 vezes

30 usuários postaram 0 vezes

 

Nisto eu tenho os dados em duas tabelas:

 

- user_profile (onde eu tenho os usuários cadastrados)

- post (onde tenho as postagens dos usuários entre os campos tenho id_user que guarda o id do usuáro cadastrado no user profile)

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta algo assim

 

 

select photos , count(*) as qtd
from
(
SELECT
  COUNT(`post`.`id_post`) AS `photos`,
  `user_profile`.`id_user`
FROM
  `post`
  RIGHT OUTER JOIN `user_profile` ON (`post`.`id_user` = `user_profile`.`id_user`)
GROUP BY
  `user_profile`.`id_user`
) group by photos

 


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.