0

好的,我通常使用计算总页数的分页代码,像这样

$query = "SELECT COUNT(*) as num FROM $tableName WHERE `ganador2` = '1'";
    $total_pages = mysql_fetch_array(mysql_query($query));
    $total_pages = $total_pages[num];

然后我使用此查询调用数据以获取回显页面内容。

// Get page data
    $query1 = "SELECT id,name,lastname,email,codigo, media, phone, Pcode, birth FROM $tableName  WHERE `ganador2` = '1' LIMIT $start, $limit ";

最后一部分是工作代码,好的,

知道我试图将它与这个查询一起使用,这会计算用户输入他的电子邮件的次数。

$query = "SELECT COUNT(*) AS num,id,name,lastname,email,codigo, media, phone, Pcode, birth FROM usuarios GROUP BY email";
    $total_pages = mysql_fetch_array(mysql_query($query));
    $total_pages = $total_pages[num];

// Get page data
    $query1 = "SELECT COUNT(*) AS top,id,name,lastname,email,codigo, media, phone, Pcode, birth FROM usuarios GROUP BY email ORDER BY top DESC LIMIT $start, $limit";

问题在于分页,它告诉我刚刚找到的查询(2 个用户)但那不是真的,所以我的查询是错误的。我如何计算第一个查询中的总页数,因为第二个查询工作得很好。

谢谢

4

5 回答 5

1

通过您的群组,您将获得每封电子邮件的计数。您将获得具有第一封电子邮件的记录数...我认为这就是您想要的。

SELECT COUNT(DISTINCT email) AS num FROM usuarios;
于 2013-05-13T05:57:32.363 回答
0

您按 分组email,因此第二个COUNT(*) as num不会给您条目总数,而是每行的num字段包含相应的用户总数email

于 2013-05-13T05:57:52.280 回答
0
SELECT count(*) AS total
FROM
    (SELECT COUNT(DISTINCT wp_users.ID)
    FROM wp_vgr_order
    INNER JOIN wp_users ON wp_vgr_order.author_id = wp_users.ID
    GROUP BY wp_users.ID) AS ROW_COUNT.

您可以在 start (和 end )中更改您的查询

于 2017-03-03T02:29:35.350 回答
0

只需使用 1 个查询即可获取有限的分页数据和无限制的记录总数:https ://dev.mysql.com/doc/refman/5.7/en/information-functions.html# function_found-rows

第一个查询将提供当前页面的数据。

然后第二个查询将简单地是:SELECT FOUND_ROWS();这给出了第一个查询找到的无限总数。

于 2017-03-03T02:59:38.187 回答
0

//注意:用于修复总计数问题

Step1:- 转到下面给出的路径
File path => node_modules/@adonisjs/lucid/src/Database/MonkeyPatch.js => Line : 153 replace this line

const counts = await countByQuery.count('* as total')

使用下面给出的代码:

const counts = await this.client
        .queryBuilder().count('* as total').from({ main:countByQuery.count('*') })
于 2021-01-30T04:23:01.803 回答