繁体   English   中英

计算和平均MySQL中的记录数

[英]Count and Avg the number of records in MySQL

大家好,我需要一些帮助。 我有一张约有10万条记录的表。 每行由一个ID引用。 这是一个例子

Keyword     | Domain          | Page | UserID
Hello       | www.example.com |    1 |   994
World       | www.example.com |    1 |   994
Genius      | www.example.com |    1 |   994
Example map | www.example.com |    2 |   994
Hello       | www.example.com |    1 |   994
demo0       | www.test.com    |    1 |   994
demo1       | www.test.com    |    2 |   994
demo2       | www.test.com    |    2 |   994
demo3       | www.test.com    |    3 |   994
wonderful   | www.mysql.com   |    1 |   997
wonder      | www.mysql.com   |    1 |   997
SOFLOW      | www.mysql.com   |    1 |   997

我想看到一个用户在第1、2或3页上出现了多少个(单个数字)关键字。

这是示例输出:

User | Domain          | Total KW | #Page 1 | #Page 2 | # Page3
 994 | www.example.com |        5 |       3 |       1 |       0
 994 | www.test.com    |        4 |       1 |       2 |       1

我知道我可以在PHP中执行此操作,但是有什么方法可以在MySQL中执行此操作吗? 我可以获得平均值和计数,但无法获取所需的内容:(

任何帮助深表感谢。 谢谢。

SELECT User, Domain, COUNT(Page),
    SUM(IF(Page=1, 1, 0)) AS Page1,
    SUM(IF(Page=2, 1, 0)) AS Page2,
    SUM(If(Page=3, 1, 0)) AS Page3
FROM table
GROUP BY User, Domain

如果不仅仅是这三个“页面”,这将变得乏味。 那时,您还应该只对页面进行分组,通常不使用SUM内容就可以对它们进行计数,然后在应用程序中进行多列格式化。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM