MySQL union all排序问题和sql server 的union all排序问题
MySQL union all排序问题
(select t1.goods_id  goods_id from 1dcq_goods t1 order by t1.goods_id )
UNION all
UNION all
(select t2.goods_id goods_id from 1dcq_goods t2 order by t2.goods_id desc )
如上sql语句,结果如下,可以看出是没有顺序的:
下面语句:
(select t1.goods_id  goods_id from 1dcq_goods t1 order by t1.goods_id limit 999999999 )
UNION all
(select t2.goods_id  goods_id from 1dcq_goods t2 order by t2.goods_id desc limit 999999999)
结果如下,可以看出是排序的,一个升序,一个降序,然后合并:
可见"limit"关键字不能少!
Sql Server union all排序问题
解决:
SELECT * FROM (SELECT TOP 100 percent * from T_Test where name >= 'A' ORDER BY name ) a union ALL SELECT * FROM (SELECT TOP 100 percent * from T_Test where name < 'A' ORDER BY name ) b
关键字:TOP 100 percent
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号