mysql - 按升序获取表中的字母数字值

标签 mysql sql sorting sql-order-by alphanumeric

我有一个表 Food,其中包含列 Quantity(它包含值 - 10 kg、32 kg、5 kg)。我想按升序获取数量值。

现在我有查询:

select Quantity from Food

输出=>

10 公斤

32 公斤

5 公斤

但预期结果是:

5 公斤

10 公斤

32 公斤

如何在 SQL 中对这个字母数字值进行排序?

最佳答案

尝试:

SELECT Quantity from Food ORDER BY CAST(Quantity as UNSIGNED) DESC;

这并不理想,您应该将数量存储为整数字段,并将单位存储为枚举。

关于mysql - 按升序获取表中的字母数字值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30697328/

相关文章:

php - 检查用户是管理员还是普通用户? PHP $_session 和 MYSQL

mysql - WordPress 5.3版本问题

sql - 为什么用户不能在同一个表上同时运行两个或多个选择查询?

MySQL:如何根据多行的数值差异对SQL查询结果进行排序?

java - 根据 List 的排序重新排序 Map

c# - 在 Java 中复制 .NET 排序

mysql - 在另一个函数中使用 asprintf 为字符串分配内存

python - 在 Django 查询集中加入以过滤它

mysql - SQL推荐系统

python - 如何根据数据框中的共置约束设置列值?