考虑一个名为“Jobs”的表,其结构如下:
<code>jobId, jobName, Priority</code>
其中“Priority”是1到5之间的整数。
问题陈述:
您需要创建一个查询,计算“Jobs”表中每个优先级(1到5)的行数。查询应分别返回名为“Priority1”到“Priority5”的列,代表这些计数。
解决方案:
为此,请使用以下SQL语句:
<code class="language-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;</code>
解释:
注意:如果您希望排除“jobId”和“jobName”,只需将它们从SELECT和GROUP BY子句中删除即可。
以上是如何计算 SQL 中的条件列值:基于优先级的示例?的详细内容。更多信息请关注PHP中文网其他相关文章!