我在Cassandra有一张table放我的产品。在这个表中,我存储了产品名称和卖家名称(可能有数千个卖家)以及分数(卖家的产品分数),如下所示
CREATE TABLE products
(
product_name varchar,
seller_name varchar,
score int,
primary key (product_name, seller_name)
);
我需要更新代码中的分数
UPDATE products SET score = 2 WHERE product_name = "iphone-7" AND seller_name = "jack" ;
一切正常,除了选择查询:
SELECT * FROM products WHERE product_name = "iphone-7" ORDER BY SCORE DESC;
我需要按分数顺序获得产品,但如您所知,如果分数不是主键,则无法排序,但如果我将分数放入主键,则无法更新它解决方案是什么?
1条答案
按热度按时间erhoui1w1#
解决方案是有两个表来满足您的需求。例如,第二个表可以是
所以你在写的时候就填充了,然后用第二个按分数排序