php - 使用 where 条件对 mysql varchar 列进行排序

标签 php mysql

我有一个包含列点[VARCHAR]的表格

当我取出分数大于80的记录并按分数降序排列时。我只得到从 99 开始的数字。实际上我的分数大于 100。

尝试了添加 +0 的选项,但按升序排列的结果很奇怪, 从 8 的点获取数据

最佳答案

由于此列是 varchar 排序比较,where 子句是按字母顺序而不是数字顺序完成的。这意味着“80”>“100”,因为“8”<“1”。您需要将此列转换为整数。使用CAST(points AS INTEGER)而不仅仅是点。

关于php - 使用 where 条件对 mysql varchar 列进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9824399/

相关文章:

php - Laravel Eloquent withCount() 应该比 with() 慢

php - 如何让 $.getScript 正常工作?

mysql - 我们可以从 mysql 触发器调用 servlet 或 java 方法吗?

php - 如何对多个数组进行 m​​ysql UPDATE

php - 刷新页面时在mysql中创建新行,为什么?

php - 错误消息号错误

php - 需要防止 PHP 正则表达式段错误

php - Excel日期在mysql中更改为不同的日期

php - 如何将数据插入最后受影响的行

mysql - 更新if else basic