搜索
首页数据库mysql教程如何计算 SQL 中的条件列值:基于优先级的示例?

How to Count Conditional Column Values in SQL:  A Priority-Based Example?

SQL条件列计数

考虑一个名为“Jobs”的表,其结构如下:

<code>jobId, jobName, Priority</code>

其中“Priority”是1到5之间的整数。

问题陈述:

您需要创建一个查询,计算“Jobs”表中每个优先级(1到5)的行数。查询应分别返回名为“Priority1”到“Priority5”的列,代表这些计数。

解决方案:

为此,请使用以下SQL语句:

SELECT
    jobId,
    jobName,
    SUM(CASE WHEN Priority = 1 THEN 1 ELSE 0 END) AS Priority1,
    SUM(CASE WHEN Priority = 2 THEN 1 ELSE 0 END) AS Priority2,
    SUM(CASE WHEN Priority = 3 THEN 1 ELSE 0 END) AS Priority3,
    SUM(CASE WHEN Priority = 4 THEN 1 ELSE 0 END) AS Priority4,
    SUM(CASE WHEN Priority = 5 THEN 1 ELSE 0 END) AS Priority5
FROM
    Jobs
GROUP BY
    jobId,
    jobName;

解释:

  • CASE语句评估每一行的“Priority”列。
  • 如果“Priority”等于指定值(1、2、3、4或5),则它对计数贡献1。
  • 如果“Priority”不等于指定值,则它贡献0。
  • SUM函数聚合每个优先级的这些计数。
  • GROUP BY子句按“jobId”和“jobName”分组结果(假设您希望在结果中包含这些列)。

注意:如果您希望排除“jobId”和“jobName”,只需将它们从SELECT和GROUP BY子句中删除即可。

以上是如何计算 SQL 中的条件列值:基于优先级的示例?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
如何在MySQL中添加复合索引如何在MySQL中添加复合索引Oct 09, 2025 am 03:21 AM

要在 MySQL 中创建复合索引,请使用带有多个列的 CREATEINDEX 或 ALTERTABLE。例如:CREATEINDEXidx_customer_orderONorders(customer_id,order_date);列顺序很重要 - 最左边的前缀用于查询。复合索引可提高多列的查询性能

如何启动和停止MySQL服务器?如何启动和停止MySQL服务器?Oct 09, 2025 am 03:02 AM

OnLinuxwithsystemd:usesudosystemctlstart/stop/restart/statusmysql(ormysqld).2.OnolderLinux:usesudoservicemysqlstart/stop/restart/status.3.OnmacOS:usesudo/usr/local/mysql/support-files/mysql.serverstart/stop/restartorSystemPreferences.4.OnWindows:usen

如何修复崩溃的 MySQL 表如何修复崩溃的 MySQL 表Oct 09, 2025 am 01:57 AM

损坏的MySQL表,通常在MyISAM中,可以通过检查CHECKTABLE、通过REPAIRTABLE修复或myisamchkoffline来修复,而InnoDB需要innodb_force_recovery来转储数据。

如何在 MySQL 中使用 ROW_NUMBER() 等窗口函数?如何在 MySQL 中使用 ROW_NUMBER() 等窗口函数?Oct 09, 2025 am 01:31 AM

MySQL8.0起支持窗口函数,如ROW_NUMBER(),可为分区内的行分配唯一序号。使用OVER(PARTITIONBYORDERBY)定义分区和排序。常用于排名、去重等场景。

如何在 MySQL 表上创建主键?如何在 MySQL 表上创建主键?Oct 09, 2025 am 01:00 AM

定义主键可在创建表时通过PRIMARYKEY约束实现,如CREATETABLEusers(idINTAUTO_INCREMENTPRIMARYKEY,nameVARCHAR(100),emailVARCHAR(255));2.对已存在表添加主键使用ALTERTABLEusersADDPRIMARYKEY(id),需确保列值唯一且非空;3.复合主键由多列组成,如PRIMARYKEY(order_id,product_id)确保组合唯一。

如何在 MySQL 列中查找重复值如何在 MySQL 列中查找重复值Oct 09, 2025 am 12:43 AM

UseGROUPBYwithHAVINGCOUNT(*)>1tofindduplicatevaluesinaMySQLcolumn,suchasemailinauserstable,returningthevalueanditscount.2.Forduplicatesacrossmultiplecolumnslikefirst_nameandlast_name,groupbybothcolumns.3.Toretrieveallfullrowscontainingduplicates,u

使用零信任架构保护 MySQL使用零信任架构保护 MySQLOct 09, 2025 am 12:09 AM

MySQL数据库通过零信任架构提升安全性,需强化身份认证、细化权限控制、加密通信通道及加强日志审计。1.强化身份认证:启用多因素认证,限制登录IP,禁用root远程登录;2.最小权限原则:按需分配权限,禁用ALLPRIVILEGES,使用角色管理;3.网络隔离与加密传输:启用SSL/TLS,配置防火墙,部署私有网络;4.日志审计与行为监控:开启通用日志与审计插件,集中分析异常行为。这些措施共同构建起MySQL的全方位零信任安全体系。

如何在MySQL中实现具有相关性排名的搜索?如何在MySQL中实现具有相关性排名的搜索?Oct 09, 2025 am 12:05 AM

usemysqlfulltextindexeswithmatch()针对()forrelevanceranking,orapplyweightedscoringscoringwithbooleanmodeandcaselogicwhenfulltextiss n n n n n n n n n n n n n n n n n n't vailable notable。

See all articles

热AI工具

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Stock Market GPT

Stock Market GPT

人工智能驱动投资研究,做出更明智的决策

热工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器