Leek_D 2015-07-16 01:20 采纳率: 100%
浏览 2362

我写了一段mysql查询,但是两段order by的顺序却不一样,求助

第一段是不分页的

select T.ID ,TName.Name  ,(select Count(UsingT.TID) from UsingT where UsingT.TID=T.ID) as LinkCount
from T 
inner join TName 
on T.TNameID = TName.ID 

and TName.Name like @tname 
order by Name asc;          <=重点在这里

第二段是分页的

select T.ID ,TName.Name ,(select Count(UsingT.TID) from UsingT where UsingT.TID=T.ID) as LinkCount
from T 
inner join TName 
on T.TNameID = TName.ID 

where T.ID in 
(select ID from <这是加壳>
(select T.ID 
from T 
inner join TName 
on T.TNameID=TName.ID 
and TName.Name like @Tname 
order by Name asc       <=重点在这里
limit @start,@count)
as x); <这是加壳> 

但是order by后的两段结果顺序就不一样?比较奇怪

<顺便网友们在帮帮忙,评评我这第二段,效率是上升还是下降?本人新手>

  • 写回答

3条回答 默认 最新

  • 全栈极简 博客专家认证 2015-07-16 01:21
    关注

    order by 要放到最外面的查询结果后进行排序。

    分析效率要看sql的执行计划,你可以运行测试一下。

    评论

报告相同问题?

悬赏问题

  • ¥15 目详情-五一模拟赛详情页
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line