我正在查询数据库以返回一个简单的数组。 IE:“SELECT * FROM contacts LIMIT 50”
但我想弄清楚的是,如果用户只有10个联系人怎么办?我想表示一个回复说(10个中的10个)联系人。
我知道我可以在数据库上运行2个查询, 一个。 SELECT * FROM contacts(然后计算结果) 湾SELECT * FROM contacts(然后找出A和B的差异
但问题在于用户有2,000个联系人并不罕见。每次用户选择“联系人”页面时,都会查询数据库。
那么有更简单的方法吗?还是我走在正确的轨道上?
任何光都会受到赞赏。 欢呼声。
答案 0 :(得分:1)
您可以运行SELECT COUNT(*) FROM contacts
来获取联系人总数。另一个解决方案 -
SELECT SQL_CALC_FOUND_ROWS * from contacts limit 50;// get up to 50 records
SELECT FOUND_ROWS(); // returns the number of rows in contact
答案 1 :(得分:1)
另一种方法
select *,
(select count(*) from table) as `found`,
(select 10 - count(*) from table) as missing
from table limit 10
答案 2 :(得分:0)
您好,您可以查询“从联系人中选择*”,然后根据您的页面限制显示记录(例如50)。所以你也有完整的记录。
OR
您可以执行以下操作来获取表格中的记录数
SELECT COUNT(*) FROM CONTACTS
查询“SELECT * FROM contacts LIMIT 50”
后此致