select
a.host_name hostname,
Round(a.record/10000,2) R1,
Round(b.record/10000,2) R2,
Round(a.record/b.record*100,0) S
FROM
(select
day_no, host_name, sum(record) record
from t_keywords_topic_class_host1
WHERE
day_no='20190716' and data_type='3g'
group by
host_name,day_no,data_type
ORDER BY record desc limit 10)a
left join
(select host_name,sum(record) record
from t_keywords_topic_class_host2
where day_no='20190716' and data_type='3g'
group by day_no,data_type,host_name) b
on a.host_name=b.host_name;
mysql版本:5.5.56
查詢結果以R1降序:

但在線上5.6.14版本查詢結果R1,R2,S都是亂序的,為啥啊?
uj5u.com熱心網友回復:
你都用innodb 存盤,然后加一個同一樣的主鍵試試。沒有設定主鍵,innnodb 自己生成的主鍵,可能不一樣
uj5u.com熱心網友回復:
版本不同,優化策略不同,如果不加order by,會出現不同的排序所以要按序輸出,一定要加order by
uj5u.com熱心網友回復:
沒有排序,回傳結果的順序,都是不能確定的。和版本無關。轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/41944.html
標籤:MySQL
