0

我有一个场景。我的表中有 300 条记录。我执行查询以获取总数。然后,由于我必须实现分页,

我根据计数使用限制从同一个表中选择数据。我在想是否可以在单个查询中获取计数和数据。?.

我尝试了以下代码:

Select * ,count(*) as cnt from table;

但这给了我总数,但只有 1 条记录!

有没有办法节省我在查询中耗尽的时间并在单个查询中获得结果?

4

3 回答 3

4

就像是:

select t1.*,t2.cnt
from table t1
cross join (select count(*) as cnt from table) t2 
limit 'your limit for the first page'

或者

select *,(select count(*) from table) as cnt
from table
limit 'your limit for the first page'
于 2013-03-14T13:50:14.083 回答
0

您可以在您提到的数据结构中获取信息,但实际上没有理由这样做。当您执行两个查询时没有性能问题 - 一个用于获取行数,另一个用于数据选择。当您尝试在一个查询中选择所有信息时,您不会保存任何内容。改为执行两个简单的查询,这将是您的应用程序的更好解决方案 - 您将保持其简单性和清晰性。

于 2013-03-14T14:01:54.150 回答
0

使用两个查询可能没有您想象的那么糟糕,您可以阅读本文以获取更多信息。

于 2013-03-14T13:57:20.867 回答