我试图找到一种方法,将表中的项按以下3列进行分组
初始表:
_id | ind_cel_phone | ind_home_phone
------------------------------------
1 | TRUE | FALSE
1 | FALSE | FALSE
2 | TRUE | FALSE
3 | TRUE | FALSE
4 | TRUE | FALSE
2 | FALSE | FALSE
5 | TRUE | TRUE
6 | TRUE | TRUE
1 | FALSE | TRUE
我期待的结果是:
_id | ind_cel_phone | ind_home_phone
------------------------------------
1 | TRUE | TRUE
2 | TRUE | FALSE
3 | TRUE | FALSE
4 | TRUE | FALSE
5 | TRUE | TRUE
6 | TRUE | TRUE
注意:
_id=1得到三行,第一行为真,第二行为假,第三行为假,结果为真
_id=2得到两行,第一行为true false,第二行为false,结果为true false
其中,如果有两行或多行具有相同的id,但它们的ind列具有不同的值,则真值具有优先级。
我试过这样的方法:
SELECT
_id
, ind_cel_phone
, ind_home_phone
FROM base_table
GROUP BY _id
, ind_cel_phone
, ind_home_phone
由于值不同,我的结果表与初始结果表相同,而不是预期结果。
有没有一种方法可以将它们分组以获得预期的结果?
1条答案
按热度按时间cvxl0en21#
bool_or()
应该这样做: