是否可以在我的主查询中有一个group by
子句的情况下进行分页类型的查询。
我将如何实现这一点(如果这可能的话)
示例查询:
SELECT * FROM TABLE_NAME GROUP BY DATEPART(YEAR,DATE), DATEPART(YEAR,MONTH)
我可以通过逐页阅读来获得结果吗?
...并且在讨论该主题时,我是否还可以在不将其放入子查询的情况下获得将要检索的总行数?
是否可以在我的主查询中有一个group by
子句的情况下进行分页类型的查询。
我将如何实现这一点(如果这可能的话)
示例查询:
SELECT * FROM TABLE_NAME GROUP BY DATEPART(YEAR,DATE), DATEPART(YEAR,MONTH)
我可以通过逐页阅读来获得结果吗?
...并且在讨论该主题时,我是否还可以在不将其放入子查询的情况下获得将要检索的总行数?
使用ROW_NUMBER
SQL Server 的 & CTE 功能,如下所述。
WITH CTE AS (
SELECT A,B,C
ROW_NUMBER() OVER (ORDER BY columnName) RN
)
SELECT * FROM CTE WHERE RN Between 1 and 10
有关详细信息,请参阅http://sqlserverplanet.com/sql/pagination-using-rownumber 。
分页的概念是:
您需要获取总行数。
SELECT * FROM table_name where id='id';
设置每页显示的项目数。比如 $limit=50。这意味着,您将每页显示 50 个项目。
嗯,我认为如果你看看这个应该会更好,http ://php.about.com/od/phpwithmysql/ss/php_pagination.htm 。它解释得更好。
希望有帮助。