如何解决ORDER BY 不能与 MySQL 中的 UNION 一起正常工作
我有 2 个表 t1 和 t2,如下
我想从带有 UNION 的两个表中选择结果并在 qty 列上排序。我写的查询是
(SELECT * FROM t1)
UNION ALL
(SELECT * FROM t2)
ORDER BY qty ASC;
这给了我以下结果
有人能告诉我这里出了什么问题吗?根据查询,我应该按升序排序 qty 列。我也试过
(SELECT * FROM t1
UNION ALL
SELECT * FROM t2)
ORDER BY qty ASC;
也不走运。如果我使用 id 或 item 进行排序,它就可以正常工作。这真的很令人沮丧。请帮忙。
解决方法
可能与 Sorting varchar field numerically in MySQL 重复
试试
(SELECT * FROM t1
UNION ALL
SELECT * FROM t2)
ORDER BY CAST(qty as SIGNED INTEGER) ASC;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。