SQL muito específico

SQL

MySQL

29/04/2020

Tenho necessidade de mostrar dados de um torneio em ordem decrescente de número de título e ao mesmo tempo mostrar em ordem decrescente os anos desses títulos.

Como fazer isso num único SQL?

Já tentei de tudo, mas acabei tendo de fazer a primeira pesquisa e para cada registro fazer a segunda, mas ficou lento.

A tabela PONTOS tem os campos PON_ANO e PON_CLASSI (que devo selecionar igual a 1 para saber que é o campeão).

Alguma dica?
Dtiburcio

Dtiburcio

Curtidas 0

Melhor post

Giuliano

Giuliano

30/04/2020

Tenho necessidade de mostrar dados de um torneio em ordem decrescente de número de título e ao mesmo tempo mostrar em ordem decrescente os anos desses títulos.

Como fazer isso num único SQL?

Já tentei de tudo, mas acabei tendo de fazer a primeira pesquisa e para cada registro fazer a segunda, mas ficou lento.

A tabela PONTOS tem os campos CLU_ORDEM (código do clube), PON_ANO e PON_CLASSI (que devo selecionar igual a 1 para saber que é o campeão). A tabela CLUBES tem CLU_ORDEM e CLU_NOME para buscar o nome do clube.

Alguma dica?


Bom dia, tudo bem? Para realizar o que você deseja, você pode usar a função GROUP_CONCAT em seu select.
Um exemplo de uso:

SELECT COUNT(type),GROUP_CONCAT(ano order by ano desc) FROM `teste` group by type order by COUNT(type) DESC
GOSTEI 1

Mais Respostas

Dtiburcio

Dtiburcio

29/04/2020

Tenho necessidade de mostrar dados de um torneio em ordem decrescente de número de título e ao mesmo tempo mostrar em ordem decrescente os anos desses títulos.

Como fazer isso num único SQL?

Já tentei de tudo, mas acabei tendo de fazer a primeira pesquisa e para cada registro fazer a segunda, mas ficou lento.

A tabela PONTOS tem os campos CLU_ORDEM (código do clube), PON_ANO e PON_CLASSI (que devo selecionar igual a 1 para saber que é o campeão). A tabela CLUBES tem CLU_ORDEM e CLU_NOME para buscar o nome do clube.

Alguma dica?
GOSTEI 0
Dtiburcio

Dtiburcio

29/04/2020

Tenho necessidade de mostrar dados de um torneio em ordem decrescente de número de título e ao mesmo tempo mostrar em ordem decrescente os anos desses títulos.

Como fazer isso num único SQL?

Já tentei de tudo, mas acabei tendo de fazer a primeira pesquisa e para cada registro fazer a segunda, mas ficou lento.

A tabela PONTOS tem os campos CLU_ORDEM (código do clube), PON_ANO e PON_CLASSI (que devo selecionar igual a 1 para saber que é o campeão). A tabela CLUBES tem CLU_ORDEM e CLU_NOME para buscar o nome do clube.

Alguma dica?


Bom dia, tudo bem? Para realizar o que você deseja, você pode usar a função GROUP_CONCAT em seu select.
Um exemplo de uso:

SELECT COUNT(type),GROUP_CONCAT(ano order by ano desc) FROM `teste` group by type order by COUNT(type) DESC


Perfeito, meu amigo, fico devendo esta. Sucesso!!!
GOSTEI 0
POSTAR