php - PHP数据排序
问题描述
对于统计表,我使用 DESC over SQL 将数据提取为最后 5 条记录。但我拍摄的数据以 6、5、4、3、2 的形式出现。当我把它作为 ASC 时,我得到前 5 条记录而不是最后 5 条记录。通过将我想要制作的数据排序为 2,3,4,5,6 来获取最后 5 条记录
我使用的功能
$query = $db->query("SELECT * FROM `table` WHERE `username`='".$username."' ORDER BY id DESC LIMIT 5")
总之 ; 我作为 ASC 提取的最后一个数据在图表上颠倒列出,我希望它被排序为 2,3,4,5,6
解决方案
如果您只是拉一小部分,只需使用 PHP 内置函数,如 sort 或任何其他函数(https://www.php.net/manual/en/array.sorting.php)
如果它是一个大型数据集,我会避免尝试直接在查询上执行此操作,如下所示:
$db->bind('username',$username);
$query = $db->query('
SELECT * FROM (
SELECT * FROM `table` WHERE `username` = :username ORDER BY id DESC
) qry ORDER BY id'
);
我没有测试查询,但我会做类似的事情。
推荐阅读
- python - df.mean(axis=1) 是所有行的函数数据框 python 吗?
- c++ - C++ 复制构造函数中的异常
- reactjs - 单击提交按钮时反应显示错误
- c# - 在 DateTimeOffset 列而不是 DateTime(2) 中存储 UTC 日期有什么意义吗?
- python - ProgrammingError 1064 在 Python 中使用 MySQL 从现有表中执行 CREATE TABLE AS SELECT
- c++ - 是否可以使用前缀表示法调用 << 运算符?
- python - Jupyter 笔记本 - 无法安装
- css - 将 CSS 编辑为 ngb-datepicker (Angular)
- 3d - 3D人脸输入的格式是什么?
- swift - ARKit – 如何将 ARImageTrackingConfiguration 与 ARFaceTrackingConfiguration 结合使用?