none
ordenar por ordem decrescente

    Pergunta

  • olá eu estou com um problema no sql server 2000 quero pegar o ultimo numero de uma coluna.. elá é incrementada a cada registro que for salvo..

    quando eu faço um select (select * from declara order by id desc)

    ele tras a seguinte ordem (a tabela possui 10 registros):

    9
    8
    7
    6
    5
    4
    3
    2
    10
    1

    o que devo fazer?
    terça-feira, 3 de abril de 2007 19:14

Respostas

  • Boa tarde Benotti, certamente o seu campo não é int, dá uma olhada no exemplo. Qualquer coisa retorne

    Para resolver seu problema faça o seguinte: SELECT * FROM DECLARA ORDER BY CAST(ID AS INT) DESC

     

    Declare @Tabela_Teste1 Table(Codigo varchar(3))

    Declare @Tabela_Teste2 Table(Codigo int)

    Insert into @Tabela_Teste1 values ('1')

    Insert into @Tabela_Teste1 values ('2')

    Insert into @Tabela_Teste1 values ('3')

    Insert into @Tabela_Teste1 values ('4')

    Insert into @Tabela_Teste1 values ('5')

    Insert into @Tabela_Teste1 values ('6')

    Insert into @Tabela_Teste1 values ('7')

    Insert into @Tabela_Teste1 values ('8')

    Insert into @Tabela_Teste1 values ('9')

    Insert into @Tabela_Teste1 values ('10')

    Insert into @Tabela_Teste2 values (1)

    Insert into @Tabela_Teste2 values (2)

    Insert into @Tabela_Teste2 values (3)

    Insert into @Tabela_Teste2 values (4)

    Insert into @Tabela_Teste2 values (5)

    Insert into @Tabela_Teste2 values (6)

    Insert into @Tabela_Teste2 values (7)

    Insert into @Tabela_Teste2 values (8)

    Insert into @Tabela_Teste2 values (9)

    Insert into @Tabela_Teste2 values (10)

    Select * from @Tabela_Teste1 Order by Codigo Desc

    Select * from @Tabela_Teste2 Order by Codigo Desc

     

     

     

     

     

     

    Espero ter ajudado

    terça-feira, 3 de abril de 2007 19:37

Todas as Respostas

  •  

     este Id e um varchar ?, converta para numerico deve funcionar.

     

    Abs;

    terça-feira, 3 de abril de 2007 19:19
    Moderador
  • Bennotti

     

    Qual é o seu tipo de campo?? É int? ou varchar?

    terça-feira, 3 de abril de 2007 19:23
  • int
    terça-feira, 3 de abril de 2007 19:24
  • cara nao deve ser int

     

     veja

     

     create table exemplo (campo int)

     

     insert into exemplo (campo) Values (1)

     insert into exemplo (campo) Values (2)

     

     insert into exemplo (campo) Values (3)

     

     insert into exemplo (campo) Values (4)

     

     insert into exemplo (campo) Values (5)

     

     ...

     

    select * From exemplo order by campo desc

     

    ---

     

    no seu exemplo tente colocar um convert(int,nome_campo) desc para testar

     

    Abs;

     

     

     

     

     

    terça-feira, 3 de abril de 2007 19:30
    Moderador
  • Bennotti,

     

    Concordo com o Marcelo, um campo int não faz isso que está acontecendo com a sua tabela....

     

    Criei uma tabela com dois campos, um INT e um VARCHAR, populei com os mesmos códigos que tu tens, em ordem aleatória, quando eu faço a mesma consulta, ele retorna corretamente os resultados.

     

    Olha só: Campo INT

    SELECT     ID_int, ID_varchar
    FROM         Tabela02
    ORDER BY ID_int DESC

    ID_int 

    10

    ID_varchar

    10

    9 9
    8 8
    7 7
    6 6
    5 5
    4 4
    3 3
    2 2
    1 1
    NULL NULL

     

    Campo VARCHAR

    SELECT     ID_int, ID_varchar
    FROM         Tabela02
    ORDER BY ID_varchar DESC

     

    ID_int  

    9

    ID_varchar

    9

    8 8
    7 7
    6 6
    5 5
    4 4
    3 3
    2 2
    10 10
    1 1
    NULL NULL

    terça-feira, 3 de abril de 2007 19:33
  • Boa tarde Benotti, certamente o seu campo não é int, dá uma olhada no exemplo. Qualquer coisa retorne

    Para resolver seu problema faça o seguinte: SELECT * FROM DECLARA ORDER BY CAST(ID AS INT) DESC

     

    Declare @Tabela_Teste1 Table(Codigo varchar(3))

    Declare @Tabela_Teste2 Table(Codigo int)

    Insert into @Tabela_Teste1 values ('1')

    Insert into @Tabela_Teste1 values ('2')

    Insert into @Tabela_Teste1 values ('3')

    Insert into @Tabela_Teste1 values ('4')

    Insert into @Tabela_Teste1 values ('5')

    Insert into @Tabela_Teste1 values ('6')

    Insert into @Tabela_Teste1 values ('7')

    Insert into @Tabela_Teste1 values ('8')

    Insert into @Tabela_Teste1 values ('9')

    Insert into @Tabela_Teste1 values ('10')

    Insert into @Tabela_Teste2 values (1)

    Insert into @Tabela_Teste2 values (2)

    Insert into @Tabela_Teste2 values (3)

    Insert into @Tabela_Teste2 values (4)

    Insert into @Tabela_Teste2 values (5)

    Insert into @Tabela_Teste2 values (6)

    Insert into @Tabela_Teste2 values (7)

    Insert into @Tabela_Teste2 values (8)

    Insert into @Tabela_Teste2 values (9)

    Insert into @Tabela_Teste2 values (10)

    Select * from @Tabela_Teste1 Order by Codigo Desc

    Select * from @Tabela_Teste2 Order by Codigo Desc

     

     

     

     

     

     

    Espero ter ajudado

    terça-feira, 3 de abril de 2007 19:37
  • 10

    9

    8

    7

    6

    5

    4

    3

    2

    1

    0

     

    sábado, 3 de maio de 2008 10:37
  • POIS 10>9>8>7>6>5>4>3>2>1.

    PRECEBES-TE?

    AQUELE SINAL E O SINAL DECRESCENTE.

    OLHA SO TENHO MAIS UMA PERGUNTA, NAO SABES O QUE E ORDEM DECRESCENTE?

    sábado, 2 de abril de 2011 10:05
  • Para seguir a ordem decrecente pecizamos colocar do 1 ao 10

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    terça-feira, 13 de março de 2012 11:02