我有一个返回结果页面相当昂贵的查询:如何在此查询中使用Count子句?
SELECT * FROM
(SELECT
ROW_NUMBER() OVER (ORDER BY j.PostDate DESC) as Row,
FROM
JobListing j,
Location l,
City c,
JobListing_Skill_XREF js,
@SkillTable st
WHERE
DistanceBetween(@lat,@long, c.Lat,c.Long) <= @miles AND
js.Skill_ID = st.id AND
j.location = l.id AND
j.id = js.JobListing_Id AND
l.CityID = c.Id
) AS RESULTS
WHERE Row Between (@PageNumber - 1) * @PageSize + 1 and (@PageNumber * @PageSize)
我想这样做也返回内部查询的总数,这样我可以计算出总页数。
然而,我无法弄清楚如何线程计数条款成这样了,我真的不希望有这种选择到一个临时表或运行它两次,只是为了计算页数。
什么想法?
你缺少第j *。但是当我补充说,它的工作。 – FlySwat 2009-06-18 14:17:27