开发者

PHP: Order by DESC won't do it?

I have this:

$getWallComment开发者_如何转开发Query2 = mysql_query("SELECT * FROM users_wallcomments WHERE wallID = '$displayWall[id]' ORDER BY date DESC LIMIT 2");

    while($show = mysql_fetch_array($getWallCommentQuery2)){
    echo $show["comment"] . " <br> ";
    }

Now, my database:

INSERT INTO `users_wallcomments` VALUES (1, 401, 1, 2, '1284056799', 'test kommentar blabla1');
INSERT INTO `users_wallcomments` VALUES (2, 401, 1, 1, '1284540210', 'test test comment2');
INSERT INTO `users_wallcomments` VALUES (3, 401, 1, 1, '1284540225', 'nr3 kommentar');
INSERT INTO `users_wallcomments` VALUES (4, 401, 1, 1, '1284540237', 'nr4 kommentar');

the fifth field.. (where the numbers starts with 1284..) is date unix timestamp. Now i want to sort it from this, by the query at the top, with limit 2;

It limits to two, but it doesnt sort it out right when i do ORDER by date DESC..

I am receiving 3th(id) as last and 4th(id) above it? And i wish to have 4th at last(because it has the latest datestamp as you also can see, it has 37, and third has 25) but still it sort the 3th as last.

What is wrong?


Change DESC to ASC

A date sorted in descending order (DESC) will always produce the most recent dates first and the earliest dates last.

If you sort your dates in ascending order (ASC) you will get the entry with id of 3 first and then the entry with id of 4 next.

UPDATE If you want only the last 2 rows sorted in date asc, then try this:

SELECT * FROM 
    (SELECT * FROM users_wallcomments WHERE wallID = '$displayWall[id]' ORDER BY date DESC LIMIT 2) recentWallComments
ORDER BY date ASC


SELECT * FROM (
    SELECT * FROM users_wallcomments WHERE wallID = '$displayWall[id]' ORDER BY date DESC LIMIT 2
) t1 
ORDER BY t1.date ASC

this shoudl do the trick.


You could do something like :

SELECT * 
 FROM (
       SELECT *
         FROM users_wallcomments 
         WHERE wallID = '$displayWall[id]'
         ORDER BY date DESC LIMIT 2
      ) AS foo
ORDER BY date ASC
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜