我的数据库表有以下结果:
查询:
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
所以需要做的是:
我将使用PHP进行所有编码,但我想知道如何解决这个问题。我需要一种方法来计算该用户和幻灯片的唯一service_titles数量,然后计算每个标题的服务项数。
感谢您的帮助!
答案 0 :(得分:1)
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_names的数量。
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
...这就是相同的service_names的数量。如果您想在一个查询中同时使用这两个问题,则可以将COUNT
放在一起,因为无论如何都使用相同的GROUP BY
。
答案 1 :(得分:0)
答案 2 :(得分:0)
要计算您可以尝试多少个不同的标题:
SELECT user_id, COUNT(DISTINCT name)
FROM service_titles
GROUP BY user_id