gpt4 book ai didi

mysql - 在 mysql 中对多个 COUNT 实例进行排序?

转载 作者:行者123 更新时间:2023-11-29 05:24:47 24 4
gpt4 key购买 nike

SELECT
smart_curmonth_portals.portal_name,
COUNT(smart_curmonth_portals.portal_name) as Hits,
COUNT(smart_curmonth_portals.page_name is 'Home') as Home*******
COUNT(smart_curmonth_portals.page_name is not 'Home') as Subpage*******
COUNT(smart_curmonth_portals.page_name is NULL) as Downloads*******
FROM
smart_curmonth_portals
GROUP BY
smart_curmonth_portals.portal_name
ORDER BY
Hits DESC

我有一个表 - smart_curmonth_portals,我用它来报告用户点击率。我不做分析报告——而且它的格式不正确,所以我无法改变它。该表具有以下内容:

  1. portal_name - 目前正在对此进行 COUNT 次并且有效
  2. page_name - 给出一个人在#1 中访问门户时访问的确切页面。大多数时候它是“主页”,有时它是一个具有随机名称的子页面,有时它是 NULL 并转到 #3。
  3. doctitle - #2 上的 NULL 只是直接项目下载,每个都有名称 - 我们不需要,但我们需要一个计数。

想看:

Portal_Name   Hits   Home   Subpages    Downloads
Testportal 3000 2300 600 100

最佳答案

COUNT(x) 计算x 不为空的次数。在您的查询中,它可能返回所有值的总行数(或接近总行数)。

如果你想要条件为真的行数,那么使用sum():

SELECT scp.portal_name,
sum(scp.portal_name) as Hits,
sum(scp.page_name = 'Home') as Home,
sum(scp.page_name <> 'Home') as Subpage,
sum(scp.page_name is NULL) as Downloads
FROM smart_curmonth_portals scp
GROUP BY scp.portal_name
ORDER BY Hits DESC ;

关于mysql - 在 mysql 中对多个 COUNT 实例进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21535859/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com