sql - 如果值小于则按 ID 计数并将值设置为 1
问题描述
我有个问题。我的表是tableXYZ我 有一行我设置年份。我有b行,如果 a 行的年份低于 2019 年,我需要设置值 1,如果大于 2019 年,我需要设置值 0。
毕竟我只需要从b行中计算 1 个值作为总数。
我该怎么做,因为我尝试了很多示例但不起作用。
解决方案
这可能会有所帮助:
SELECT COUNT(1) AS [b_count]
FROM (
-- Use case to evaluate column a and set value for column b
SELECT a,
CASE WHEN a < 2019 then '1' else '0' end as [b]
FROM tableXYZ
) AS X -- Alias of subquery
WHERE X.b = '1' -- Select only rows where b = '1'
推荐阅读
- node.js - 如何使用纱线仅安装“devDependencies”
- java - Java 模块不适用于 aspectj-maven-plugin
- python - TKinter 应用程序在 Visual Studio Code 中运行良好,但作为 .exe 崩溃
- spring-boot - Web 服务器性能下降
- python - Pandas:基于公共列连接两个数据框的最佳方法
- android - 如何在“com.wonderkiln.camerakit.CameraView”库中切换相机
- r - 一种在区间内查找函数最大值的简洁方法:管道、序列和子集
- ios - 目标 c - 尝试打开 URL 方案时打开建议
- javascript - 如何在 jQuery 中使用多个组合器设置 css
- javascript - 是否可以在单击按钮时出现一个小的白色弹出窗口?