我想获得具有特定条件的记录数(例如使用应用程序ID接受的应用程序的分数),这可以通过分别对被拒绝和接受的应用程序使用0和1来完成,然后使用sum(application_acceptance)/计数(*)。但是,我不希望该列接受除0或1之外的任何内容。
我正在寻找以下选项之一,但不确定Cassandra是否允许其中任何一个:
答案 0 :(得分:0)
你真的需要限制价值观吗?一种方法是使用boolean作为列的类型,并创建一个UDF,将您的布尔值转换为int并使用该UDF运行所有选择。
表格定义:
CREATE TABLE b_table (
key int PRIMARY KEY,
bol1 boolean
)
UDF:
CREATE FUNCTION my_boolean(input boolean)
RETURNS NULL ON NULL INPUT
RETURNS int
LANGUAGE java
AS 'return (input) ? 1 : 0;';
选择:select key, my_boolean(bol1) from b_table ;