在一个查询中计算 MySQL 中的多行数

2024-01-18

我目前有一个表,其中存储了多个项目的大量统计信息,例如查看、下载、购买等。要获取每个项目的单个操作计数,我可以使用以下查询:

SELECT *, COUNT(*)
FROM stats
WHERE operation = 'view'
GROUP BY item_id

这给了我所有的项目和他们的观点的计数。然后,我可以将其他变量的“查看”更改为“购买”或“下载”。然而,这意味着对数据库的三个单独的调用。

是否可以一次性获得这三个?


SELECT item_id, operation, COUNT(*) 
FROM stats 
WHERE operation IN ('view','purchase','download') 
GROUP BY item_id, operation

将返回一个表每个 item_id 和操作一行,包含三列:item_id、操作类型以及具有该 item_id 的行数。

1 view 3
1 purchase 5
2 download 7
3 download 1

如果您想要所有 item_id,则可以省略 WHERE,并且可以在 COUNT(*) 中订购以获得最受欢迎的商品或其他商品。取决于您正在寻找什么或您如何使用数据。

如果你想要列彼此相邻,使用 IF:

SELECT s1.item_id, SUM( IF( s1.operation = 'view', 1, 0 ) ) views, SUM( IF( s1.operation = 'download', 1, 0 ) ) downloads, SUM( IF( s1.operation = 'purchase', 1, 0 ) ) purchases
FROM stats s1
GROUP BY s1.item_id

item_id | views | downloads | purchases
1 | 3 | 0 | 5
2 | 0 | 7 | 0
3 | 0 | 1 | 0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在一个查询中计算 MySQL 中的多行数 的相关文章

  • 如何在 phpmyadmin 中创建 MySQL 触发器

    我想在 MySQL 中创建一个触发器 我运行以下命令 mysql gt delimiter mysql gt CREATE TRIGGER before insert money BEFORE INSERT ON money gt FOR
  • 使 pdo::query 静态

    当我运行下面的代码时出现此错误 我通常使用 msql 函数 但我尝试使用 PDO 代替 怎么了 致命错误 第 14 行无法静态调用非静态方法 PDO query
  • SQL参数化查询不显示结果

    我的 DataAcess 类中有以下函数 但它没有显示任何结果 我的代码如下 public List
  • mysql-如何向列申请补助?

    用户名 撤销对数据库的选择 Person I set GRANT SELECT id ON database Person TO username localhost 不是工作 gt SELECT secret FROM Person Go
  • 将 SQL 数据中的一行映射到 Java 对象

    我有一个 Java 类 其实例字段 以及匹配的 setter 方法 与 SQL 数据库表的列名相匹配 我想优雅地从表中获取一行 到 ResultSet 中 并将其映射到此类的实例 例如 我有一个 Student 类 其中包含实例字段 FNA
  • PHP 绑定“bigint”数据类型(MySQLi 准备好的语句)

    studentId 57004542323382 companyOfferId 7 sql INSERT INTO studentPlacement companyOfferId studentId VALUES if stmt db gt
  • 截断 Mysql 表 Cron 作业?

    我在如何使用 cron 作业截断 Mysql 表时遇到了一些麻烦 无论我尝试什么 我似乎都无法让数据库清除表格 感谢您的帮助 mysql uderp example pexample hlocalhost Dexample e TRUNCA
  • 为什么这会返回资源 id #2? [复制]

    这个问题在这里已经有答案了 可能的重复 我如何从 PHP 中的 MySql 响应中 回显 资源 id 6 https stackoverflow com questions 4290108 how do i echo a resource
  • MySQL Connector/C++ 库链接错误问题

    PROBLEM 好吧 我一直在尝试遵循 MySQL Forge Wiki 和其他一些网站上的示例代码 这些网站提供了有关如何获得简单数据库连接的教程 但由于某种原因 我的项目总是因链接错误而失败 我可以我自己不明白为什么或如何解决它 我仍在
  • Mysql 检索所有有限制的行

    我想检索特定用户的所有行 限制为 0 x 所以我只是想问是否有任何方法可以检索 mysql 中的所有行 而不调用返回 x 的 count id 的方法 而不重载现有函数 该函数在查询中根本没有限制 与我们的 string Relace 功能
  • Mysql 中 UNION 子句的替代方案

    我有两张桌子 表 a 表 b table a ID 1 2 3 4 5 7 table b ID 2 3 4 5 6 我必须得到这样的输出而无需UNION命令 ID 1 2 3 4 5 6 7 注意 我有一个联合解决方案 select fr
  • MySQL MIN/MAX 所有行

    我有桌子Races与行ID Name and TotalCP 我选择分钟 TotalCP FROM Races 但是我想选择具有最小值的整行 我如何在单个查询中做到这一点 从聚合值获取整行的一般形式是 SELECT FROM Races W
  • sql server 按组排名

    问题看似简单 但我却无法理解 这是针对 sql 服务器的 what I have in a table What I need as a output cksum id cksum id 2162514679 204 2162514679
  • 是否有适用于所有数据库的标准sql

    如下所示 不同数据库的语法有所不同 是否存在适用于所有数据库的标准方法 有没有什么工具可以将任意sql转换为任意sql SQL Server 2005 CREATE TABLE Table01 Field01 int primary key
  • 将古吉拉特语文本插入 MySQL 表会产生垃圾字符和不可读的文本

    我有三个 MySQL 表 我正在向其中插入古吉拉特语内容 当我插入两个表时 它们插入得很好并且可读 但在一个表中 它显示垃圾字符 不可读的文本 我怎样才能解决这个问题 MySQL 有每个表的字符集设置 http dev mysql com
  • 使用 where 进行 select 语句时,HSQLDB 用户缺乏权限或未找到对象错误

    我的数据库使用 SQuirrel SQL 客户端版本 3 5 3 和 HSQLDB 我已经能够为其指定相应的驱动程序 内存中 并创建一个别名 我创建了一个表 CREATE TABLE ENTRY NAME VARCHAR 100 NOT N
  • Laravel leftJoin 仅右表的最后一条记录

    我是 Laravel 的新手 我有两张桌子 1 产品 2 价格 products id product int p key name varchar prices id price int p key id product int
  • 对多个数据库执行 SQL 查询

    我知道我的帖子与该论坛中的其他帖子的标题非常相似 但我真的找不到我需要的答案 这是我的问题 我的 Windows Server 上运行着 SQL Server 在我的 SQL Server 中 我有大约 30 个数据库 它们都具有相同的表和
  • MySQL 查询计算上个月

    我想计算上个月的订单总额 我收到了从当前日期获取当月数据的查询 SELECT SUM goods total AS Total Amount FROM orders WHERE order placed date gt date sub c
  • 将第三个表链接到多对多关联中的桥接表

    设计这个数据库的正确方法是什么 这是我设置表格的方式 我在名为 教师 的表和名为 仪器 的表之间存在多对多关系 然后我有一个连接两者的桥接表 我想将另一个表与 BRIDGE 表关联起来 意思是乐器 老师的组合 该表有 3 行 指定老师可以教

随机推荐

  • SonarQube 在代码分析中忽略 getter/setter

    SonarQube 仪表板中是否有允许忽略 getter 和 setter 的设置 这听起来是一个比在代码库中的每个方法上编码 nopmd 更好的选择 我的代码库有很多这样的东西 它们极大地降低了 Sonarqube 仪表板中报告的单元测试
  • 更改 Electron 中可拖动区域上的光标

    我正在 Electron 中制作一个应用程序 我有一个无框窗口 我有一些顶部区域 webkit app region drag但当我这样做时 不会改变 显然它在这个片段中是不可拖动的 因为它不是一个电子应用程序 但基本上光标在可拖动的元素上
  • 使用matlab配色方案将float转换为RGB

    例如 如果我有一个浮动0 568 浮动保证是0 gt 1 有没有办法将其转换为 RGB 值 双精度 1 0 1 0 1 0 or int 255 255 255 在当前的 matlab 配色方案 即正常 热 HSV 等 下 你可以试试这个
  • Intel x86 - 中断服务例程责任

    我没有真正意义上的问题 但我会尽力澄清内容问题 假设我们有一个微内核 PC Intel x86 32 位保护模式 中断描述符表 IDT and 中断服务程序 ISR 对于每个CPU异常 ISR 被成功调用 例如Division by Zer
  • 从 C 矩阵到现代 OpenGL 中的纹理?

    Problem 我正在尝试使用 OpenGL 用 C 编写一个简单的程序 这将允许 绘制 2D C 数组 int 32 位整数 根据调色板 目前 我还没有做到这一点 还很远 我正在学习如何将 32 位有符号整数数组发送到 GPU 并以某种方
  • {{ }} 和 {!! 之间有什么区别? !!} 在 Laravel Blade 文件中?

    在laravel框架中我们可以使用blade在html文件中添加PHP代码 我们正在使用两者 and Laravel 的 Blade 文件中的语法 它们之间有什么区别 Blade 语句通过PHP的htmlentities函数自动发送 以防止
  • 制作 PIE 对象时,不能使用针对符号“G8”的重定位 R_X86_64_32;使用-fPIE重新编译

    我正在尝试将 lambda 表达式从 schema 编译为 llvm ir 但在处理与位置无关的代码时遇到了问题 source lambda x display x target bunch of declares define SObj
  • 更新Map字段-Flutter

    如何更新 isVerified Boolean 字段的数据 个人信息是地图包含地址 然后经过验证 更新isVerified 您必须执行以下操作 Firestore instance collection collection Name do
  • 我们可以在 Spring Boot 中使用多个 kafka 模板吗?

    在我的 spring boot kafka 发布者应用程序中 我想提供对以 String json 或字节格式发布消息的支持 因为我想同时提供对 json 和 avro 的支持 但是 Spring Boot 中的 Kafka 模板让我们只定
  • 有没有办法在 R 中为 Word 制作漂亮的表格?

    我问我的问题 这是我最后的希望 我必须用 Word 制作一份报告 我从事 R Markdown 工作 必须生成许多表格 我希望我的桌子很漂亮 但我尝试过的一切 pander KableExtra flextable 不工作 我的结果来自co
  • 尝试使用 Angular 中的 Google People API 获取生日和性别

    我已经花了几个小时尝试这样做 但我永远无法获得我想要获得的数据 我需要以其他方式提出请求吗 这是我的代码 doGoogleLogin return new Promise
  • 是否有 jquery 下拉年份选择器 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有一个 jQuery 插件可以自动创建下拉年份选择器 这是一个 选择 元素 填充了从当前开始并追溯
  • 如何使用 jquery/javascript 在 safari 中复制到剪贴板?

    我研究了一堆答案和文章 它们展示了如何通过 jquery 在按钮单击时复制文本 但没有一个对我有用 我通过 ajax 将一个值附加到 DOM 中 我希望通过单击按钮来复制该值 所有这些解决方案都可以在 chrome 上运行 如果使用 jsf
  • 放弃更改而不从历史记录中删除

    有一个提交不起作用 所以我想放弃它而不将其从历史记录中删除 我已经从早期的修订版中更新并提交 从而创建了一个新的头 我没有分支 我不想要分支 我只想简单地继续使用新的头 就像它原来的样子 没有什么花哨的 没有合并 没有担心 只是继续忘记前一
  • Alexa Skills Kit 输入的“包罗万象”不符合既定意图

    我正在构建一个 Alexa 应用程序 它需要能够处理问题的答案 我有一个SkipIntent具有跳过问题的示例话语的意图 我想建立一个AnswerIntent它可以获取任何答案 并根据正确答案对其进行处理 我尝试使用Amazon LITER
  • 如何在 Java 中检测 SQL 表是否存在?

    如何在 Java 中检测给定 SQL 数据库中是否存在某个表 您可以使用DatabaseMetaData getTables http java sun com j2se 1 5 0 docs api java sql DatabaseMe
  • 何时不在 CakePhp 2.x 中使用可包含行为

    在将 Containable Behaviour 添加到我的各种模型类中几次后 我决定简单地将该行放入 AppModel 中 从而使每个模型都可包含 这让我想知道 是否有任何情况下 特定模型具有可控制行为是不理想的或适得其反的 我想说太少了
  • 更改JLabel的字体

    如何更改JLabel的字体 我尝试这样做但没有成功 JLabel nadpis new JLabel nadpis setFont new Font Papyrus Font ITALIC 100 nadpis setText hi 只是大
  • 将 BasedOn 属性与在不同字典中定义的 Style 结合使用

    我正在开发的应用程序有 2 个 ResourceDictionary DefaultStyles xaml 和 CustomStyles xaml CustomStyles 字典中的样式是否可能使用其他字典中定义的基本样式 默认样式 xam
  • 在一个查询中计算 MySQL 中的多行数

    我目前有一个表 其中存储了多个项目的大量统计信息 例如查看 下载 购买等 要获取每个项目的单个操作计数 我可以使用以下查询 SELECT COUNT FROM stats WHERE operation view GROUP BY item