PHP では、(LIMIT) 型の機能が必要な SQL Server クエリを実行しています。TOP は通常、LIMIT (MySQL 構文) の代わりに SQL Server で使用されることを既に知っています。ただし、TOP では、LIMIT のように「オフセット」を設定することはできません。私のクエリでは、「オフセット」と「行数」を動的にする必要があります。例:
LIMIT $startRow, $maxRow
何か考えや提案はありますか?
PHP では、(LIMIT) 型の機能が必要な SQL Server クエリを実行しています。TOP は通常、LIMIT (MySQL 構文) の代わりに SQL Server で使用されることを既に知っています。ただし、TOP では、LIMIT のように「オフセット」を設定することはできません。私のクエリでは、「オフセット」と「行数」を動的にする必要があります。例:
LIMIT $startRow, $maxRow
何か考えや提案はありますか?
Sql Server 2005には、上記の制限構文がありません。これは2012年まで追加されていません。OVER句と一般的なテーブル式を使用することをお勧めします。
WITH Members AS
(
SELECT M_NAME, M_POSTS, M_LASTPOSTDATE, M_LASTHEREDATE, M_DATE, M_COUNTRY,
ROW_NUMBER() OVER (ORDER BY M_POSTS DESC) AS RowNumber
FROM dbo.FORUM_MEMBERS
)
SELECT RowNumber, M_NAME, M_POSTS, M_LASTPOSTDATE, M_LASTHEREDATE, M_DATE, M_COUNTRY
FROM Members
WHERE RowNumber BETWEEN 1 AND 20
ORDER BY RowNumber ASC;