SELECT * FROM (SELECT TOP 10 * FROM (SELECT TOP 10 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', 147)) 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' AND C.IsHidden='F' AND C.CateCode IN (SELECT CateCode FROM fnGetCateChild('rental', 147, 0) WHERE IsHidden='F') ORDER BY G.Price DESC, G.Sort DESC) AS T1 ORDER BY Price ASC, Sort ASC) AS T2 ORDER BY Price DESC, Sort DESC