[英]ORDER BY not working properly with UNION in MySQL
我有 2 個表 t1 和 t2 如下
我想 select 兩個表中的結果都帶有 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 進行排序,它工作得非常好。 這真是令人沮喪。 請幫忙。
在 MySQL 中以數字方式排序 varchar 字段的可能重復項
嘗試
(SELECT * FROM t1
UNION ALL
SELECT * FROM t2)
ORDER BY CAST(qty as SIGNED INTEGER) ASC;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.