現在は機能していますが、xml に制限なしで合計行数を含めたいと考えています。
SET @query_result = (SELECT ID,Title
FROM
(
SELECT items.id AS "ID",items.title AS "Title" ,
ROW_NUMBER() OVER(ORDER BY date_added DESC) AS RowNum
FROM [cars]
JOIN [items] ON items.id=cars.item_id
WHERE
rejected = 0
)AS MyDerivedTable
WHERE
MyDerivedTable.RowNum BETWEEN (@page-1)*2+1 AND (@page*2)
FOR XML PATH('car'),ROOT('items')
)
これは戻ります
<items>
<car>
<ID>37</ID>
<Title>Used 2004 Chevrolet Corvette Convertible</Title>
</car>
</items>
私が欲しい
<items>
<car>
<ID>37</ID>
<Title>Used 2004 Chevrolet Corvette Convertible</Title>
<Count>6</Count>
</car>
</items>
Count は返される行数ではなく、クエリに一致した行の総数です。または、私の問題が難しすぎて誰にも理解できない場合は、FOUND_ROWS(); の MSSQL 代替を探しています。この質問 @ SQL Count total number of rows while using LIMITは同じことに答えようとしていますが、解決策は MSSQL です。