我不确定我是否放了正确的标题,会很高兴主持人改变它。这就是我想要的: 假设我有一个包含3列的表
Id | Name | campaignid
-----------------------------
1. | John. | 1
----------------------------
2 | Peter. | 2
---------------------------
3. | Martin. | 3
----------------------------
4. | Sarah. | 2
----------------------------
5. | Jessica. | 3
----------------------------
6. | Parker. | 3
现在实际上我将拥有大约1000个不同的campaignid的一百万条记录,同时我只能处理3000条记录,所以我想选择3000条记录并处理它们,然后获得另外3000条记录并处理它们,所以等等。 当我从数据库中选择3000条记录时,我想根据总记录中存在的campaignid的百分比来获取行。对于上述示例中的ex,竞争者3存在50%,2是33.33%,1是17.77%。现在,如果这也是一百万条记录的汇总,我必须从中选择3000条记录,那么竞选标识3应该是1500次,竞选标识2应该是999次,剩下的应该是广告系列标识1,即50%,分别为33.3%和17%。
请有人帮我解决这个问题。我正在使用Mysql数据库。
答案 0 :(得分:0)
您可以尝试MySQL的FOUND_ROWS()功能。例如:
mysql> SELECT SQL_CALC_FOUND_ROWS * FROM tbl_name
-> WHERE id > 100 LIMIT 10;
mysql> SELECT FOUND_ROWS();
第二个SELECT返回一个数字,表示如果没有LIMIT子句,第一个SELECT将返回多少行。