Ir para conteúdo

Arquivado

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

WilsonFe

Group By - Ordernação por data

Recommended Posts

Pessoal, antes de mais nada obrigado por tentar ajudar, vamos lá. O negócio é simples, mas estou apanhando pela falta de experiência.

 

No Select abaixo eu pretendo trazer todos os artigos que possuem comentários ordenado pela data do último comentário, ou seja, basicamente, listar os artigos que foram comentados por último. Ai fiz este INNER JOIN e funciona se eu não uso o Group By, mas eu preciso do Group By, pois um artigo pode ter vários comentários.

 

Por favor, se alguém puder ajudar. Outra coisa que eu gostaria que este select retornasse, mas não consegui, listar por último os artigos que não possuem comentários.

 

Muito, muito obrigado pela força!

 

SELECT
tb_coment.dia_comentario,
tb_artigo.artigo_id,
tb_artigo.artigo_nome
FROM
dbAdminBS.tb_artigo
INNER JOIN
(SELECT
c1.artigo_id AS artigo_id,
c1.comentario_dt_cadastro AS dia_comentario
FROM tb_comentarios c1
WHERE
c1.comentario_status = 1
GROUP BY c1.artigo_id
ORDER BY c1.comentario_dt_cadastro DESC) tb_coment
WHERE
tb_artigo.artigo_status = 4 AND
tb_artigo.concurso_id = 0 AND
tb_coment.artigo_id = tb_artigo.artigo_id
ORDER BY tb_coment.dia_comentario DESC

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

SELECT
    ta.artigo_id,
    ta.artigo_nome,
    (SELECT COUNT(tc.artigo_id) FROM tb_comentarios tc WHERE tc.comentario_status=1 AND tc.artigo_id=ta.artigo_id) AS comentarios
    (SELECT tc.comentario_dt_cadastro FROM tb_comentarios tc WHERE tc.comentario_status=1 AND tc.artigo_id=ta.artigo_id ORDER BY tc.comentario_dt_cadastro DESC LIMIT 1) AS ultimo_comentario
FROM tb_artigo ta
WHERE
    ta.artigo_status = 4 AND
    ta.concurso_id = 0
ORDER BY
    comentarios DESC,
    ultimo_comentario DESC

 

talvez tenha uns errinhos de nomes de campos daí vc corrige

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.