我应该如何编写CQL以获取每行最近的一组数据?
我正在调查从MSSQL过渡到Cassandra,并开始掌握这些概念。大量的研究已经帮助了我很多,但是我还没有找到答案(我知道一定有方法):
CREATE TABLE WideData {
ID text,
Updated timestamp,
Title text,
ReportData text,
PRIMARY KEY (ID, Updated)
} WITH CLUSTERING ORDER (Updated DESC)
INSERT INTO WideData (ID, Updated, Title, ReportData) VALUES ('aaa', NOW, 'Title', 'Blah blah blah blah')
INSERT INTO WideData (ID, Updated, Title, ReportData) VALUES ('bbb', NOW, 'Title', 'Blah blah blah blah')
请等待1分钟:
INSERT INTO WideData (ID, Updated, Title, ReportData) VALUES ('bbb', NOW, 'Title 2', 'Blah blah blah blah')
等待3分钟:
INSERT INTO WideData (ID, Updated, Title, ReportData) VALUES ('aaa', NOW, 'Title 2', 'Blah blah blah blah')
等待5分钟:
INSERT INTO WideData (ID, Updated, Title, ReportData) VALUES ('aaa', NOW, 'Title 3', 'Blah blah blah blah')
如何编写CQL以获取每行最新数据集?
SELECT ID, Title FROM WideRow - 通过对数据进行透视,给我返回了5行。
本质上,我希望(SELECT ID, Title FROM WideRow WHERE .....)的结果为:
ID Title
aaa, Title3
bbb, Title2
还有一个问题,是否有办法在宽行中获取数据集的数量?
本质上相当于TSQL:SELECT ID,Count(*)FROM表GROUP BY ID
ID Count
aaa 3
bbb 2
谢谢
另外,如果有关于这些查询类型更多学习的参考资料也会很有帮助。