2017-05-09 33 views
1

我想選擇兩列包含相等值的所有內容。這是我的CQL查詢:如何選擇CQL中兩列包含相同值的所有內容?

select count(someColumn) from somekeySpace.sometable where columnX = columnY 

這是行不通的。我怎樣才能做到這一點?

+1

的計數。卡桑德拉不支持它。 –

+0

所以這是我需要做的事情。這是否意味着我需要從這些列中選擇所有內容,然後在我的應用程序中在CQL之外執行...就像在我的java代碼中一樣? – J4ce

回答

1

您不能查詢那樣,卡桑德拉不支持它

可以通過不同的方式做到這一點。
首先你必須創建一個單獨的櫃檯表。

CREATE TABLE match_counter(
    partition int PRIMARY KEY, 
    count counter 
); 

在插入時到主表,如果columnX = columnY那麼這裏增加值。雖然你只有一個數,你可以使用分區

UPDATE match_counter SET count = count + 1 WHERE partition = 1; 

的靜態值,現在你可以得到你不能做到這一點的匹配列

SELECT * FROM match_counter WHERE partition = 1; 
相關問題