gpt4 book ai didi

MySQL 计算来自同一字段的 2 个值

转载 作者:行者123 更新时间:2023-11-29 06:32:44 24 4
gpt4 key购买 nike

如何计算同一字段中的两个不同值?我有一个名为 Jobs 的字段,我想计算同一查询中有多少医生和多少警察。

这是我的查询,它对两者都进行了计数,但在相同的结果中返回了它们。我想分开这个结果。这是我的查询:

USE DBAssignmentPartC;
SELECT Cu_City as City, Count(Cu_Job) AS TotalPoliceDoctors FROM tblCustomers
WHERE Cu_Job = 'Doctor' OR Cu_Job = 'Policeman'
Group by Cu_City ORDER BY TotalPoliceDoctors DESC;

是否仍然可以计算 Doctor's 和 Policemen 并将它们返回到单独的列中?

我已经尝试在此处和 Google 上进行搜索,但作为一名一年级学生,我可能搜索/使用了错误的术语,如果有人回答了这个问题,但我错过了,我深表歉意。

提前致谢

最佳答案

只需更改您的 Count(Cu_Job)SUM(Cu_Job="Doctor") , SUM(cu_job ="Policeman")

SELECT 
Cu_City as City,
SUM(Cu_Job = "Doctor") as totalDoctors ,
SUM(Cu_Job = "Policeman") AS totalPolice,
SUM(CASE WHEN Cu_Job = "Doctor" OR Cu_Job = "Policeman" THEN 1 ELSE 0 END) AS TotalPoliceDoctors
FROM tblCustomers
GROUP BY Cu_City
ORDER BY TotalPoliceDoctors DESC;

这按城市返回每个医生的人数和每个警察的人数以及总人数

FIDDLE DEMO

注意:只是为了让您知道这是如何工作的(这样您就可以在需要时向您的教授解释)SUM(Cu_Job = "Doctor")返回每行的 bool 值含义 Cu_Job = "Doctor"将为真或为假。 MySQL(以及基本上所有其他编程语言)将 true 视为 1,将 false 视为 0。因此,对“true”值求和将为您提供列中特定值的 COUNT。

关于MySQL 计算来自同一字段的 2 个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26920593/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com