Ir para conteúdo

POWERED BY:

Arquivado

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

renato-navarro

Problemas com Order by no MySQL...

Recommended Posts

tô já ficando loco com isso... isso nunca aconteceu.. nem em php nem em outra linguagem... dá uma olhada nesse select select *, date_format(frm_data,'%d/%m') as frm1_data, date_format(frm_dataa,'%d/%m') as frm1_dataa from adm_forum where frm_tipo=1 order by frm_dataa,frm_horaa desc tipo.. ele funciona e traz os resultados corretamente... só que o order by não funciona!!! tipo... quero mostrar os resultados em ordem decrescente por data,hora respectivamente.... acontece que ele mistura tudo... por exemplo, se eu usar a ordem por data ou por hora, funciona, só que se eu colocar mais de uma opção no order by ele num rola... tem ideia do que pode ser? tipo.. um bug ou coisa parecida, no php ou mysql...??? isso tá acontecendo na minha maquina windows com php e no server linux tbm...

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok... + num rolou...estou fazendo direto no console...mysql> select frm_id,frm_dataa,frm_horaa from adm_forum where frm_tipo=1 order by frm_dataa desc,frm_horaa desc;+--------+------------+-----------+| frm_id | frm_dataa | frm_horaa |+--------+------------+-----------+| 8 | 2003-07-02 | 12:29:20 || 6 | 2003-07-02 | 12:18:33 || 1 | 2003-06-30 | 14:51:54 || 3 | 2003-06-17 | 23:42:10 |+--------+------------+-----------+4 rows in set (0.00 sec)dá uma olhada na tabela:mysql> desc adm_forum -> ;+-------------+--------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+-------------+--------------+------+-----+---------+----------------+| frm_id | int(11) | | PRI | NULL | auto_increment || frm_assunto | varchar(255) | YES | | NULL | || frm_texto | text | YES | | NULL | || frm_data | date | YES | | NULL | || frm_hora | varchar(8) | YES | | NULL | || frm_tipo | int(11) | YES | | NULL | || frm_user | varchar(255) | YES | | NULL | || frm_dataa | date | YES | MUL | NULL | || frm_horaa | varchar(8) | YES | MUL | NULL | || frm_lido | int(11) | YES | | 0 | || frm_resp | int(11) | YES | | 0 | || frm_ass | int(11) | YES | | NULL | |+-------------+--------------+------+-----+---------+----------------+12 rows in set (0.00 sec)

Compartilhar este post


Link para o post
Compartilhar em outros sites

ok.. mudei o tipo na tabela... coloquei time...a tabela ficou assim: mysql> desc adm_forum -> ;+-------------+--------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+-------------+--------------+------+-----+---------+----------------+| frm_id | int(11) | | PRI | NULL | auto_increment || frm_assunto | varchar(255) | YES | | NULL | || frm_texto | text | YES | | NULL | || frm_data | date | YES | | NULL | || frm_hora | varchar(8) | YES | | NULL | || frm_tipo | int(11) | YES | | NULL | || frm_user | varchar(255) | YES | | NULL | || frm_dataa | date | YES | MUL | NULL | || frm_horaa | time | YES | MUL | NULL | || frm_lido | int(11) | YES | | 0 | || frm_resp | int(11) | YES | | 0 | || frm_ass | int(11) | YES | | NULL | |+-------------+--------------+------+-----+---------+----------------+12 rows in set (0.01 sec)e refiz a query e deu:mysql> select frm_id,frm_dataa,frm_horaa from adm_forum where frm_tipo=1 order by frm_dataa desc,frm_horaa desc;+--------+------------+-----------+| frm_id | frm_dataa | frm_horaa |+--------+------------+-----------+| 8 | 2003-07-02 | 12:29:20 || 6 | 2003-07-02 | 12:18:33 || 1 | 2003-06-30 | 14:51:54 || 3 | 2003-06-17 | 23:42:10 |+--------+------------+-----------+4 rows in set (0.00 sec)e nada...meu.. num sei mais pra onde atirar...já até pensei em criar uma coluna pra ordenar essa jossa! daí eu dou update na tabela toda qdo tiver uma alteração... já estou começando a pensar em apelar... ehhehe

Compartilhar este post


Link para o post
Compartilhar em outros sites

A query está correta... acho que ele está se confundindo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara, eu to com um problema parecido. Andei lendo uns foruns de mysql em ingles e parece que existe um bug no mysql quando se usa innodb com chaves indexadas e order by, que é o meu caso. O order by simplesmente não ordena como você pede, ai tem que usar myisam. Não encontrei a solução ainda e isso tá me causando uns problemoes!

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.