首页 > 解决方案 > 如果值小于则按 ID 计数并将值设置为 1

问题描述

我有个问题。我的表是tableXYZ 有一行我设置年份。我有b行,如果 a 行年份低于 2019 年,我需要设置值 1,如果大于 2019 年,我需要设置值 0。

毕竟我只需要从b行中计算 1 个值作为总数。

我该怎么做,因为我尝试了很多示例但不起作用。

标签: sql

解决方案


这可能会有所帮助:

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'

推荐阅读