PHP:按 DESC 排序不行吗?

标签 php mysql

我有这个:

$getWallCommentQuery2 = 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> ";
    }

现在,我的数据库:

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');

第五个字段..(数字以 1284.. 开头)是日期 unix 时间戳。现在我想根据顶部的查询对其进行排序,限制为 2;

它限制为两个,但当我按日期 DESC 进行排序时,它并没有正确排序。

我收到的是最后一个 3th(id) 和上面的 4th(id)?我希望最后排在第 4 位(因为它有最新的日期戳,如您所见,它有 37 个,第三个有 25 个)但它仍然排在第 3 位。

怎么了?

最佳答案

DESC 更改为 ASC

按降序 (DESC) 排序的日期将总是最晚的日期排在最前面,最早的日期最后。

如果您按升序 (ASC) 对日期进行排序,您将首先获得 ID 为 3 的条目,然后是 ID 为 4 的条目。

更新 如果您只希望最后 2 行按日期升序排序,请尝试以下操作:

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

关于PHP:按 DESC 排序不行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3716982/

相关文章:

php - 使用 MySQL PHP 显示投资组合项目的信息并显示多个类别

php - MySQL - 按 2 个条件进行分组

php - WSSE - XML SOAP 安全和 key 加密和存储 (EncryptedData/EncryptedKey)

php - 使用 Android 连接到 PHP Web 服务器

php - 如何让我的php程序一直在linux下运行?

mysql - MySQL 中的随机行

php - 根据最大文件大小缩放图像

php - 我如何匹配特定所有 <li> 标签之间的内容?

Javafx 表加载正确的行数,但加载重复的数据。我错过了什么吗?

php - 如何使用 php 以特定顺序显示从 mysql 数据库检索的数据