2017-05-09 8 views
1

2つの列に等しい値が含まれているものをすべて選択しようとしています。ここに私のCQLクエリです:2つの列が等しい値を持つ場所をCQLですべて選択するにはどうすればよいですか?

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

これは動作しません。これどうやってするの?あなたがそのようなクエリを実行することはできません

+1

の数を取得することができ、パーティション

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

の静的な値を使用することができます。カサンドラはそれをサポートしていません。 –

+0

それは私がする必要があるものです。これは、私がそれらの列からすべてを選択して、アプリケーションでCQLの外で行う必要があることを意味しますか?私のJavaコードのように? – J4ce

答えて

1

、カサンドラは、あなたが別の方法でこれを行うことができ、それを

をサポートしていません。
まず、別のカウンターテーブルを作成する必要があります。あなたのメインテーブルへの挿入時には

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

columnX = columnYはその後、ここに値をインクリメントします。あなたは、単一の数を持っていますが、あなたは今、あなたはあなたがこれを行うことはできません一致列

SELECT * FROM match_counter WHERE partition = 1; 
関連する問題