SELECT * FROM (SELECT TOP 10 * FROM (SELECT TOP 40 G.Uid, C.CateCode, G.DealerID, G.Title, G.ImgS, G.Price, G.Cmoney, G.OptionKind, G.Stock, G.ReadCnt, G.OpinionRate, G.IsSoldOut, dbo.fnCheckCoupon(G.SiteID, G.Uid, C.CateCode, GETDATE(), '') AS ChkCoupon, G.DeliveryPolicy, G.DeliveryMethod, G.DeliveryFee, G.DeliveryLimit, G.IsIconA, G.IsIconB, G.IsIconC, G.IsIconD, G.IsIconE, G.IsIconF, G.Sort FROM T_GOODS AS G JOIN (select * from dbo.fnGetGoodsCategory('rental', 825)) AS C ON G.SiteID=C.SiteID AND G.Uid=C.GoodsUid WHERE G.SiteID='rental' AND G.GoodsType='N' AND G.State='100' AND G.IsDisplay='T' ORDER BY G.Price ASC, G.Sort DESC) AS T1 ORDER BY Price DESC, Sort ASC) AS T2 ORDER BY Price ASC, Sort DESC