php - MySQL, 价格排序

标签 php mysql

在 MySQL 数据库中,价格以如下方式存储:

  • 20.000
  • 25.000
  • 25.000
  • 10.000
  • 120

其中点代表千(意大利货币,如美国的逗号)。 如果我尝试使用“按价格 ASC 排序”对这些数据进行排序,我将得到以下顺序:

  • 10.000
  • 20.000
  • 25.000
  • 120

它似乎混淆了点和逗号。 事实上,120 是最后一个,但它应该是第一个。有没有办法正确排序序列?

最佳答案

是的。不要将它们存储为字符串。您应该改用 DECIMAL(10, 2),其中 10 是它可以存储的总位数,2 是小数点右侧的位数。您可以适当调整参数,但将它们存储为字符串并不是一个好主意。

关于php - MySQL, 价格排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9472837/

相关文章:

php - 在 symfony 中找不到 404

php - 如何使数组的输出不同?

php - 如果 nodeid 不是来自具有相同内容 id 的 nodeid 的标题副本,则 nodeid 是最新的

mysql动态row_number生成问题

javascript - 如何处理 Laravel 到 Vue.js 的 bool 值

php - ORDER BY 字段内的 MySQL 子查询。 (没有内连接)

php - 根据最后一条记录结果创建表闭包

php - 使用 PHP 在 while 循环中插入数据(仅 1 次)

mysql - 从表中获取不同的最新值的查询

mysql - 如何增加数据库的读取查询/秒?