Ir para conteúdo

POWERED BY:

Arquivado

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

Faccruz

[Resolvido] Select Order By

Recommended Posts

Bom dia

 

Tenho esse Select

Select Date_format(MesAno, '%d/%m/%Y') MesAno,
Atingiu from Metas where idFuncionario = 100
order by MesAno asc
limit 12

Está funcionando normal, mas não está me trazendo os dados na ordem desejada, já tentei como DESC, mas continua a mesma coisa, apenas inverte a ordem.

 

Desse modo que ela está, me retorna da seguinte forma.

 

MesAno Atingiu

01/01/2009 S

01/02/2009 N

01/03/2009 S

01/04/2009 N

01/05/2009 N

01/08/2008 S

01/09/2008 N

01/10/2008 S

01/11/2008 S

01/12/2008 S

 

Mas gostaria que me retornasse da seguinte forma, o último incluso (01/05/2009) viesse no inicio da Grid, depois viesse o mês 4/2009, mês 3/2009, mês 2/2009, mês 1/2009, mês 12/2008 e assim por diante

Compartilhar este post


Link para o post
Compartilhar em outros sites

Select Date_format(MesAno, '%d/%m/%Y') as Mes_Ano,
Atingiu from Metas where idFuncionario = 100
order by MesAno DESC
limit 12

Já tentei os dois modos passados aki.

 

Deixa eu descrever o problema, as vezes fica mais facil.

 

Preciso retornar o resultado de 12 meses anteriores a partir da ultima data inclusa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O LIMIT é aplicado antes ou após o ORDER BY , não seria isto ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Select Date_format(MesAno, '%d/%m/%Y') as Mes_Ano,
Atingiu from Metas where idFuncionario = 100
order by MesAno DESC
limit 12

Já tentei os dois modos passados aki.

 

Deixa eu descrever o problema, as vezes fica mais facil.

 

Preciso retornar o resultado de 12 meses anteriores a partir da ultima data inclusa.

 

O que as consultas estao retornando? Posta ai!

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

 

Select Date_format(MesAno, '%d/%m/%Y') as Mes_Ano,
Atingiu from Metas where idFuncionario = 100
order by MesAno DESC
limit 12

Já tentei os dois modos passados aki.

 

Deixa eu descrever o problema, as vezes fica mais facil.

 

Preciso retornar o resultado de 12 meses anteriores a partir da ultima data inclusa.

 

Retorna o resultado esperado, porem fora de ordem. No primeiro tópico tem o resultado que está retornando

 

O que as consultas estao retornando? Posta ai!

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

 

 

Select Date_format(MesAno, '%d/%m/%Y') as Mes_Ano,
Atingiu from Metas where idFuncionario = 100
order by MesAno DESC
limit 12

Já tentei os dois modos passados aki.

 

Deixa eu descrever o problema, as vezes fica mais facil.

 

Preciso retornar o resultado de 12 meses anteriores a partir da ultima data inclusa.

 

Retorna o resultado esperado, porem fora de ordem. No primeiro tópico tem o resultado que está retornando

 

O que as consultas estao retornando? Posta ai!

 

Olha FACCruz, é muito importante que o SELECT esteja assim Date_format(MesAno, '%d/%m/%Y') as Mes_Ano e nao assim, Date_format(MesAno, '%d/%m/%Y') as MesAno.

 

Dessa maneira Date_format(MesAno, '%d/%m/%Y') as MesAno, você tranformou as datas em brasileira e a ordem que apresenta é a correta mesmo que nao seja o que você quer. O nome da alias é usado no order by... mudando o nome da alias de MesAno para Mes_Ano, ao usar o order by MesAno, ele vai ordenar correto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

 

 

 

Select Date_format(MesAno, '%d/%m/%Y') as Mes_Ano,
Atingiu from Metas where idFuncionario = 100
order by MesAno DESC
limit 12

Já tentei os dois modos passados aki.

 

Deixa eu descrever o problema, as vezes fica mais facil.

 

Preciso retornar o resultado de 12 meses anteriores a partir da ultima data inclusa.

 

Retorna o resultado esperado, porem fora de ordem. No primeiro tópico tem o resultado que está retornando

 

O que as consultas estao retornando? Posta ai!

 

Olha FACCruz, é muito importante que o SELECT esteja assim Date_format(MesAno, '%d/%m/%Y') as Mes_Ano e nao assim, Date_format(MesAno, '%d/%m/%Y') as MesAno.

 

Dessa maneira Date_format(MesAno, '%d/%m/%Y') as MesAno, você tranformou as datas em brasileira e a ordem que apresenta é a correta mesmo que nao seja o que você quer. O nome da alias é usado no order by... mudando o nome da alias de MesAno para Mes_Ano, ao usar o order by MesAno, ele vai ordenar correto.

 

 

Fiz a alteração, e continuou trazendo os dados desordenados.

Como disse ele está me trazendo nesse formato

 

MesAno Atingiu
01/01/2009 S
01/02/2009 N
01/03/2009 S
01/04/2009 N
01/05/2009 N
01/08/2008 S
01/09/2008 N
01/10/2008 S
01/11/2008 S
01/12/2008 S

Preciso que me traga dessa forma

MesAno Atingiu
01/05/2009 S
01/04/2009 N
01/03/2009 S
01/02/2009 N
01/01/2009 N
01/12/2008 S
01/11/2008 N
01/10/2008 S
01/09/2008 S
01/08/2008 S

Compartilhar este post


Link para o post
Compartilhar em outros sites

Problema resolvido. Segue o novo select

 

Select Date_format(MesAno, '%m/%Y') Mes_Ano,
Atingiu from Metas where idFuncionario = 100
order by Date_format(MesAno, '%Y-%m') desc
Limit 12

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.