簡體   English   中英

ORDER BY 在 MySQL 中無法正常使用 UNION

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM