sql直接获取表中行数的方法

时间:2010-08-04 18:36:38

标签: sql mysql sqlite postgresql rowcount

又是stackoverflow的人。 我有一个例程,有一个我认为不必要的步骤 假设您想要从图库中获取所有图像,并限制每页的一定数量的图像。

$db = PDO object
$start = (pagenum x images per page)
$limit = (images per page)
$itemsdata = $db->query("SELECT id,name FROM gallery LIMIT $start,$limit")->fetchAll();
$numitems = $db->query("SELECT id FROM gallery")->rowCount();

$imgsdata是一个包含库中所有图像的数组。 $numimgs是图库的图片数量。

你需要$imgsdata对数组中的每个图像进行foreach循环,而 生成页码编号需要$numimgs(例如<< 1 2 3 4>>)

我的怨恨是$db->query("SELECT id FROM gallery")->rowCount(); 感觉完全像某种作弊,是不是有直接的方法来获取表中的行数,如SELECT gallery.Rows

P.S。目前我正在使用SQLite,但我也需要它用于MySQL和PostgreSQL。

4 个答案:

答案 0 :(得分:1)

这将告诉您行数:

SELECT COUNT(*) FROM gallery

答案 1 :(得分:1)

简单的count()聚合函数将快速返回行数

Select count(*) from table

答案 2 :(得分:1)

select count(*) from gallery

答案 3 :(得分:1)

我也是!

SELECT COUNT(*) FROM gallery

是的,这在MySQL,SQLite和PostgreSQL中应该可以正常工作。