我有一个像这样的mysql表:
id, visitorid, pageid
当访问者访问该网站时,它将其访问者ID和页面ID存储为一行。
我试图提取恰好X次访问该网站的访问者数量。(用于图表)。因此有多少人只访问一页,有多少人访问了2页…
到目前为止,我有:
SELECT COUNT(visid),visid FROM vislog GROUP BY visid ORDER BY COUNT(visid) DESC
但是我不知道该如何进行计数。
可以作为mysql查询吗?
编辑: 我已经添加了答案。
我可以这样解决:
SELECT cnt, COUNT(cnt) FROM (
SELECT COUNT(visid) as cnt FROM vislog GROUP BY visid
) x GROUP BY cnt ORDER BY cnt ASC
这一点x
很重要。
问题内容: 我有这张桌子: 电影可以具有多种流派,因此ID并非特定于流派,而是多对多关系。我想要查询以找到正好具有4种流派的电影总数。我目前的查询是 但是,这会返回4而不是总和的列表。如何获得总和而不是清单? 问题答案: 一种方法是使用嵌套查询: 内部查询将获取所有具有完全4种类型的电影,然后外部查询将计算内部查询返回的行数。
问题内容: 我有这个MySQL查询: 返回如下内容: 我真正想要的是末尾的另一列以显示运行总计: 这可能吗? 问题答案: 也许对您来说是一个更简单的解决方案,并且可以防止数据库不得不执行大量查询。这仅执行一个查询,然后在一次通过中对结果进行一些数学运算。 这将为您提供一个额外的RT(运行总计)列。不要错过顶部的SET语句来首先初始化运行中的total变量,否则您将只获得一列NULL值。
问题内容: 这两个查询在具有1000万行的表上运行缓慢。我想知道为什么为什么从mysql保留所有insert,update和delete更新的计数器变得不容易? 有没有办法改善这个查询?我使用了说明,但并没有太大帮助。 问题答案: 正如cherouvim在评论中指出的那样,它取决于存储引擎。 确实会保留表行的计数,并且由于MyISAM支持的唯一锁是表锁,因此可以保持准确。 但是支持事务,因此需要进
表名称包含一列 目标是计算重复次数以得到以下结果 如何做到这一点?
问题内容: 我有这样的桌子 而且我需要创建一个查询,该查询将像这样通过电子邮件计算所有重复项 问题答案: last()子句将选择范围限制为大于1的电子邮件计数,例如重复项。
问题内容: 我刚开始使用SQL并遇到了问题。 在我的数据库中,我目前有两个表,电影院和剧院。我正在尝试在Cinemas表中创建一列“#Theatres#”,该表计算着Cinemas表中具有与Cinemas表中的Cinema相同的CinemaID(外键)的Theaters表中的剧院数量。我将其用作SQL查询: 但是想知道是否有可能在Cinemas表中创建一列,该列会自动执行上述查询并将值插入到每一行