[英]How can i make a count with different filters in SQLAlchemy - Python
主要问题是同时用 Sqlalchemy 计算不同的元素。 我想实现如下SQL。
SELECT
metrics_stages.job_id,
COUNT(*) FILTER(WHERE metrics_stages.stage = 'Submitted') AS submitted_count,
COUNT(*) FILTER(WHERE metrics_stages.stage = 'Applied') AS applied_count,
COUNT(distinct metrics_stages.talents_job_id) FILTER(WHERE metrics_stages.if_interview = true) AS interview_count
FROM metrics_stages
GROUP BY metrics_stages.job_id
但我不能让它成为可能。
我不确定您使用的是什么数据库,在 MariaDB 和 MySQL 中您可以这样做。
SELECT
metrics_stages.job_id,
SUM(IF(metrics_stages.stage = 'Submitted',1,0)) AS submitted_count,
SUM(IF(metrics_stages.stage = 'Applied',1,0)) AS applied_count,
COUNT(distinct IF(metrics_stages.if_interviewed = true, metrics_stages.talents_job_id, NULL)) AS interview_count
FROM metrics_stages
GROUP BY metrics_stages.job_id
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.