【发布时间】:2020-05-02 23:13:48
【问题描述】:
我正在尝试为每个等于“2”的“标志”连续增加一个单元格。
更具体地说,我有一个表,其中包含 customer_numbers 和相应的产品组,可以标记为 {0: 'never used the product', 1:'inactive', 2:'active'}
所以我的列名看起来像这样{customer_no, GRP1, GRP2, GRP3, GRP4, GRP5 并且我创建的另一列算作 GROUP_ACTIVE_COUNT}
对于每个客户,我想计算他们活跃的 product_groups 数量。
举个例子:
- 客户 1 的 GRP1:1 GRP2:2 GRP3:0 GRP4:1 GRP5:2 ----> GROUP_ACTIVE_COUNT 将等于 2
客户 2 的 GRP1:2 GRP2:2 GRP3:0 GRP4:1 GRP5:2 ----> GROUP_ACTIVE_COUNT 将等于 3
客户 3 的 GRP1:2 GRP2:2 GRP3:2 GRP4:2 GRP5:2 ----> GROUP_ACTIVE_COUNT 将等于 5
客户 4 的 GRP1:1 GRP2:1 GRP3:1 GRP4:1 GRP5:1 ----> GROUP_ACTIVE_COUNT 将等于 0
客户 5 的 GRP1:0 GRP2:0 GRP3:0 GRP4:0 GRP5:0 ----> GROUP_ACTIVE_COUNT 将等于 0
这是我到目前为止所做的:
SELECT
CUST_NO
,GROUP_ACTIVE_C
,GROUP_ACTIVE_COUNT
,CASE
WHEN GRP1 = 2 THEN --DO SOMETGING LIKE GROUP_ACTIVE_COUNT = GROUP_ACTIVE_COUNT+1
WHEN GRP2 = 2 THEN --DO SOMETGING LIKE GROUP_ACTIVE_COUNT = GROUP_ACTIVE_COUNT+1
WHEN GRP3 = 2 THEN --DO SOMETGING LIKE GROUP_ACTIVE_COUNT = GROUP_ACTIVE_COUNT+1
WHEN GRP4 = 2 THEN --DO SOMETGING LIKE GROUP_ACTIVE_COUNT = GROUP_ACTIVE_COUNT+1
WHEN GRP5 = 2 THEN --DO SOMETGING LIKE GROUP_ACTIVE_COUNT = GROUP_ACTIVE_COUNT+1
,GRP1
,GRP2
,GRP3
,GRP4
,GRP5
FROM XSELL_DATAMART
我的主要问题是我无法在 SQ LITE 中创建一个变量,以便我可以在其中转储 +1 并将其保存到每个相应的行中:(
【问题讨论】:
标签: sql database sqlite select