从 table 中查找类别数
Find the count of categories from a table
我正在尝试为一个研究所开发一个查询管理系统。
我在 mysql db.
中有 3 个 table
leads_course_category
table 保留课程类别并包含以下列:category_id
、category_name
、category_created_time
、category_deleted
.
leads_course_details
table 将课程存储在类别下并具有以下列:course_id
、course_category_id
、course_name
.
leads_enquiry_details
table 存储查询详细信息并具有以下列:enquiry_id
、enquiry_name
、leads_course_details_course_id
、enquiry_deleted
我需要找到每个类别的查询数量。
我尝试了以下查询:
SELECT category_name,COUNT(*) as COUNT
FROM leads_course_category
RIGHT JOIN leads_course_details
on category_id=leads_course_details.course_category_id
RIGHT JOIN `leads_enquiry_details`
on leads_course_details.course_id= leads_enquiry_details.leads_course_details_course_id
WHERE leads_enquiry_details.enquiry_deleted=1
GROUP BY leads_course_category.category_id
此查询会跳过所有具有空值的类别,但我需要将其显示为零。
请帮我解决这个问题。
条件 enquiry_deleted = 1
必须移至 ON
子句:
select c.category_name, count(ed.enquiry_id) count
from leads_course_category c
left join leads_course_details cd on c.category_id = cd.course_category_id
left join leads_enquiry_details ed on cd.course_id = ed.leads_course_details_course_id and ed.enquiry_deleted = 1
group by c.category_id, c.category_name
我正在尝试为一个研究所开发一个查询管理系统。 我在 mysql db.
中有 3 个 tableleads_course_category
table 保留课程类别并包含以下列:category_id
、category_name
、category_created_time
、category_deleted
.leads_course_details
table 将课程存储在类别下并具有以下列:course_id
、course_category_id
、course_name
.leads_enquiry_details
table 存储查询详细信息并具有以下列:enquiry_id
、enquiry_name
、leads_course_details_course_id
、enquiry_deleted
我需要找到每个类别的查询数量。 我尝试了以下查询:
SELECT category_name,COUNT(*) as COUNT
FROM leads_course_category
RIGHT JOIN leads_course_details
on category_id=leads_course_details.course_category_id
RIGHT JOIN `leads_enquiry_details`
on leads_course_details.course_id= leads_enquiry_details.leads_course_details_course_id
WHERE leads_enquiry_details.enquiry_deleted=1
GROUP BY leads_course_category.category_id
此查询会跳过所有具有空值的类别,但我需要将其显示为零。
请帮我解决这个问题。
条件 enquiry_deleted = 1
必须移至 ON
子句:
select c.category_name, count(ed.enquiry_id) count
from leads_course_category c
left join leads_course_details cd on c.category_id = cd.course_category_id
left join leads_enquiry_details ed on cd.course_id = ed.leads_course_details_course_id and ed.enquiry_deleted = 1
group by c.category_id, c.category_name