PHP/MySQL - 计算查询中的项目数

标签 php mysql database counting

我的数据库表有以下结果:

enter image description here

查询:

SELECT 
service_titles.user_id, service_titles.slide_id, service_titles.name as title_name ,service_names.name as service_name 
FROM service_names 
INNER JOIN service_titles ON service_names.title_id = service_titles.id

所以需要发生的是:

  • 如果用户有 2 个唯一的服务标题,则该标题的最大 service_name 数量将为 6
  • 如果用户有 1 个服务标题,则该标题的最大 service_name 数量将为 16

我将使用 PHP 进行所有编码,但我想知道如何进行此操作。我需要一种方法来计算该用户和幻灯片有多少个唯一的 service_title,然后计算每个标题有多少个服务项目。

感谢您的帮助!

最佳答案

SELECT COUNT(DISTINCT service_titles.name)
FROM service_names
INNER JOIN service_titles ON service_names.title_id = service_titles.id
GROUP BY service_titles.user_id, service_titles.slide_id

这将为您提供每个 user_id/slide_id 组合的不同 title_name 的数量。

SELECT COUNT(DISTINCT service_names.name)
FROM service_names
INNER JOIN service_titles ON service_names.title_id = service_titles.id
GROUP BY service_titles.user_id, service_titles.slide_id

...这就是相同服务的不同服务名称的数量。如果您希望在一个查询中同时使用这两个查询,则可以将两个 COUNT 放在一起,因为无论如何您都使用相同的 GROUP BY

关于PHP/MySQL - 计算查询中的项目数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9262614/

相关文章:

windows - 为什么 Win32::ODBC 在 Perl 5.10 和 Cygwin 下找不到 ODBC.dll?

mysql - 在activejdbc中获取表的列顺序

php - unlink 似乎不适用于 foreach 循环

c# - MVC4 C# - 想要将图像保存到文件夹并将 url 保存到数据库中

php - Woocommerce 选择与多个元值匹配的订单

mysql - 如何在不存在的查询上应用子查询?

php - CodeIgniter - 数据库自动加载的空白页

php - 如何从表名中有空格的表中选择数据?

php - 获取 REQUEST_URI 并且不要覆盖

php - 导出();死();返回假;