Boa noite a todos !
Bem , eu estou com um problema , conforme uma consulta que eu faço ao banco de dados eu quero que ele retorne sempre o ultimo registro para mim conforme o seguinte parâmetro , " ORDER BY (campo) DESC " , nesse campo eu estou utilizando para ordenar o valor de uma data de uma campo no banco de dados , ate ai ele retorna o esperado , sendo que quando se tem mais de um registro com a mesma data ele já nao retorna o ultimo valor registrado no topo , segue um exemplo a baixo :
ID | DATA | VALOR | --------------------------- 10 | 25/09/2015 | A | 11 | 25/09/2015 | B | 12 | 25/09/2015 | C | 4 | 24/09/2015 | D | 5 | 24/09/2015 | E | 6 | 24/09/2015 | F |
Conforme o exemplo acima a data esta ordenada de forma correta , tipo sempre a maior data para a menor , sendo que o que esta vindo
errado são os valores que era pra ficar da seguinte maneira :
ID | DATA | VALOR | --------------------------- 12 | 25/09/2015 | A | 11 | 25/09/2015 | B | 10 | 25/09/2015 | C | 6 | 24/09/2015 | D | 5 | 24/09/2015 | E | 4 | 24/09/2015 | F |
"Ahh mais porque você não ordena por ID então?" , no caso eu posso alterar essa data , tipo , eu tenho um valor que esta com a data " 24/09/2015" ai eu posso colocar essa data pro dia " 25/09/2015" sendo assim o "ID" não muda , logo ficaria desorganizado , vou postar a baixo o codigo que estou utilizando :
SELECT * from propostasf WHERE (nivel = '$nivel' or acima = '$nivel') AND ( tipodecontrato != 'T' and tipodecontrato != '' and tipodecontrato != '0' ) ORDER BY datacadastro DESC LIMIT $inicial, $numreg
O que eu queria era uma forma de ordenar a data da maior para a menor e sempre ta pegando o ultimo registro , uma forma que eu pensei mas não consigo fazer é ta sempre pegando o ultimo registro , mas ignorando o "ID" e listar sempre o ultimo ate o primeiro.
Espero que eu tenha sido claro e que alguém possa me ajudar , qualquer coisa ou informação é so perguntar , agradeço desde já!