在 CQL Cassandra 中查找非主键列的不同值

2024-02-20

我使用以下代码来创建表:

CREATE KEYSPACE mykeyspace
WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 };
USE mykeyspace;
CREATE TABLE users (
  user_id int PRIMARY KEY,
  fname text,
  lname text
);
INSERT INTO users (user_id,  fname, lname)
  VALUES (1745, 'john', 'smith');
INSERT INTO users (user_id,  fname, lname)
  VALUES (1744, 'john', 'doe');
INSERT INTO users (user_id,  fname, lname)
  VALUES (1746, 'john', 'smith');

我想找到独特的价值lname列(不是主键)。我想得到以下结果:

 lname
-------
 smith

通过使用SELECT DISTINCT lname FROM users;然而自从lname不是一个PRIMARY KEY我收到以下错误:

InvalidRequest: code=2200 [Invalid query] message="SELECT DISTINCT queries must
only request partition key columns and/or static columns (not lname)"
cqlsh:mykeyspace> SELECT DISTINCT lname FROM users;

我怎样才能从中获得不同的值lname?


User - 未定义的变量- 提出了两点:

  • 在 Cassandra 中,您需要构建数据模型以匹配您的查询模式。有时这意味着将数据复制到其他表中,以获得所需的查询灵活性级别。
  • DISTINCT仅适用于分区键。

因此,让它发挥作用的一种方法是构建一个特定的表来支持该查询:

CREATE TABLE users_by_lname (
    lname text,
    fname text,
    user_id int,
    PRIMARY KEY (lname, fname, user_id)
);

现在,在我对这个新查询表运行 INSERT 后,这有效:

aploetz@cqlsh:stackoverflow> SELECT DISTINCT lname FROm users_by_lname ;

 lname
-------
 smith
   doe

(2 rows)

注意:在此表中,具有相同分区键的所有行(lname) 将按以下顺序排序fname, as fname是一个聚类键。我添加了user_id作为附加的聚类键,只是为了确保唯一性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 CQL Cassandra 中查找非主键列的不同值 的相关文章

  • 选择前 n 个字符相等的行(MySQL)

    我有一张带有玩家句柄的桌子 如下所示 1 N Laka 2 N James 3 nor Brian 4 nor John 5 Player 2 6 Spectator 7 N Joe 从那里我想选择第一个 n 字符匹配的所有玩家 但我不知道
  • 针对约 225 万行的单表选择查询的优化技术?

    我有一个在 InnoDB 引擎上运行的 MySQL 表 名为squares大约有 2 250 000 行 表结构如下 squares square id int 7 unsigned NOT NULL ref coord lat doubl
  • 如何使用 MySQL 选择有特定值的 2 个连续行?

    我正在构建一个系统 该系统应该显示学生何时连续缺席两天 例如 此表包含缺勤情况 day id missed 2016 10 6 1 true 2016 10 6 2 true 2016 10 6 3 false 2016 10 7 1 tr
  • AngularJS - 设置下拉列表的选定值不起作用

    我在这里复制了我的问题 http jsfiddle net U3pVM 2840 http jsfiddle net U3pVM 2840 正如标题所示 我无法设置使用 ng options 填充的选择的选定值 我已经搜索并尝试了我找到的所
  • Javascript 根据选择选项更改

    内容

    Javascript 不是最好的 所以我想问一下我哪里出了问题 正如标题所示 我有一个带有 4 个不同选项的选择框 当选择一个选项时我想更改 p 带有priceesc id 的标签 这是我到目前为止所拥有的 function priceTe
  • 如何使用 Rrank() 函数创建新的ties.method? [复制]

    这个问题在这里已经有答案了 我试图按人口和日期排序这个数据框 所以我使用order and rank 功能 gt df lt data frame idgeoville c 5 8 4 3 4 5 8 8 date c rep 1950 4
  • 避免 cassandra 中的僵尸数据

    最近 我在客户设置 3 节点集群时遇到了一个问题 其中一个节点出现故障 并在 12 天后才上线 在我们的场景中 大多数表的默认 gc grace seconds 已设置为 1 天 并且有很多表 当此故障节点出现时 来自该节点的陈旧数据被复制
  • 从 mysql 检索数据并通过电子邮件发送

    我有一个 php 页面 它显示 mysql 数据库中每个用户的课程表数据 如下所示 result mysql query sql echo table border 0 thead tr th Class Link th th Studen
  • Cassandra cqlsh - 如何显示时间戳列的微秒/毫秒?

    我正在插入带有时间戳列的 Cassandra 表 我的数据具有微秒精度 因此时间数据字符串如下所示 2015 02 16T18 00 03 234 00 00 但是 在 cqlsh 中 当我运行选择查询时 微秒数据不会显示 我只能看到精确到
  • 如何使用CSS缩进多级select optgroup?

    只是试图通过嵌套深度缩进 optgroup 块 我尝试了一般margin left规则 嵌套元素然后尝试应用相同的规则 尝试过padding left 这样的缩进可能吗 看起来很简单 P 在下面的示例中 标记为 client2 a 的 op
  • 在 SELECT 中将列值拆分为两列?

    我在 varchar 列中有一个字符串值 它是一个由两部分组成的字符串 在它到达数据库之前分割它不是一个选择 该列的值如下所示 one column part1 part2 part1 part2 所以我想要的是一个如下所示的结果集 col
  • Cassandra Nodetool Repair 的具体作用是什么?

    From http docs datastax com en cassandra 2 0 cassandra operations ops repair nodes c html http docs datastax com en cass
  • 我可以在 Cassandra 2.1 中对集合进行多重查询吗?

    在 Cassandra 2 1 中 我们可以通过在列上创建二级索引来查询集合 cqlsh play gt select from songs where tags contains t1 id tags title e99f8f30 d21
  • 向 cassandra 表添加列会立即完成吗?

    我们计划在现有的 cassandra 表中添加一列 list 类型的列 该表的数据文件大小约为 350 GB 在应用架构更改时 我们可以暂时停止所有读 写几分钟 我们的理解是 cassandra 在应用架构更改时不会锁定表 但要确保我们的
  • select() 可以在 Windows 下使用 Python 中的文件吗?

    我正在尝试在 Windows 下运行以下 python 服务器 An echo server that uses select to handle multiple clients at a time Entering any line o
  • Cassandra 允许过滤

    我有一个如下表 CREATE TABLE test day int id varchar start int action varchar PRIMARY KEY day start id 我想运行这个查询 Select from test
  • 允许在cql中进行过滤、数据建模

    我目前正在使用和研究 cassandra 中的数据建模实践 到目前为止 我知道您需要基于执行的查询进行数据建模 然而 多个select需求使得数据建模变得更加困难或不可能在一张表上处理它 所以 当你无法在1个表上处理这些要求时 你需要插入2
  • 使用 JPA 和 Hibernate 时 DISTINCT 如何工作

    DISTINCT 在 JPA 中使用什么列 是否可以更改它 以下是使用 DISTINCT 的 JPA 查询示例 select DISTINCT c from Customer c 这没有多大意义 不同的列是基于哪一列 它是否在实体上指定为注
  • 了解 nodetool cfstats 中的“键数”

    我是 Cassandra 新手 在本示例中 我使用具有 1 个 DC 和 5 个节点的集群以及复制因子为 3 的 NetworkTopologyStrategy Keyspace activityfeed Read Count 0 Read
  • 表行为的 cassandra TTL

    假设我在 secondary 1 处插入一列 在 secondary 2 处插入另一列 表的默认 TTL 设置为 10 秒 例如 问题1 data1 和 data2 是否会在 10 秒后被删除 或者 data 1 将在 10 秒后被删除 d

随机推荐

  • 在 php 中使用数组查找百分位

    我有一个像这样的数组 array 45 gt 5 42 gt 4 9 48 gt 5 41 gt 4 8 40 gt 4 9 34 gt 4 9 这里的索引是userid而价值就是他的分数 现在我想要的是为用户实现百分位 例如 45 48
  • winapi:创建进程但隐藏进程的窗口?

    我正在使用 CreateProcess 创建一个 cmd exe 进程 该进程传递一个执行并退出的参数 这使得命令提示符在屏幕上闪烁 我试图通过将 STARTUPINFO struct wShowWindow 设置为 SW HIDE 来避免
  • C# 将变量复制到缓冲区而不产生垃圾?

    在 C Net 3 5 及更高版本 中是否可以将变量复制到 byte 缓冲区中 而不会在进程中创建任何垃圾 例如 int variableToCopy 9861 byte buffer new byte 1024 byte bytes Bi
  • 如何使用SharpDX绘制透明表面?

    这个问题是基于进一步调查this https stackoverflow com questions 28960993 hud basics using sharpdx how to draw over the screen surface
  • MICO Corba 的直接替代品?

    我们目前正在使用 MICO 建立服务器和客户端之间的通信 其中客户端是用 C 编写的模拟器 服务器是显示模拟中发生的动画的 java 程序 看来 MICO 的开发已经放缓到几乎停止的状态 并且只允许我们破解它们的错误 因为我们没有时间首先弄
  • Python(2.x)列表/子列表选择-1怪异

    所以我一直在玩Python并注意到一些看起来有点奇怪的事情 的语义 1从列表中选择似乎不一致 所以我有一个数字列表 ls range 1000 当然 列表的最后一个元素ls 1 但如果我获取其中的子列表 以便获得从中点到结尾的所有内容 我会
  • 如何防止在 kivy 应用程序中关闭 x 上的窗口

    有没有办法通过单击右上角的 x 直到满足特定条件来防止关闭kivy窗口 您可以通过绑定窗口来做到这一点on request close有一个函数来检查是否满足条件 from kivy app import App from kivy cor
  • RabbitMQ 中的并发

    经过一周的编码和搜索论坛后 似乎是时候问 我有一个 C 应用程序 它使用 EventingBasicConsumer 处理 RabbitMQ 发送的消息 我想同时处理多个消息 因此我在同一连接上实例化了几个通道 本例中为 8 个 每个通道都
  • 如何使用 jquery/ajax 将数据发送到 json 文件

    我发现了无数关于如何使用 jQuery 和 ajax 从 json 文件检索数据的教程 但没有关于如何将数据 POST 到 json 文件 如果有人可以向我展示或向我发送一个关于如何执行此操作的小脚本 那就太好了 我到处搜索如何做到这一点
  • ClassNotFoundException:如何查找Java中的依赖冲突

    在使用 Atmosphere servlet 的测试 WebSocket 应用程序中 我收到以下异常 SEVERE Servlet service for servlet AtmosphereServlet threw exception
  • SQL Server + 动态查询“无效的列名”

    我正在尝试执行以下动态查询 但出现错误 无效的列名 cat DECLARE SQLDelQuery AS NVARCHAR 1200 DECLARE MemberNames varchar 50 SET MemberNames cat SE
  • subprocess.check_output() 似乎不存在(Python 2.6.5)

    我一直在阅读有关 subprocess 模块的 Python 文档 请参阅here http docs python org library subprocess html subprocess replacements 它谈论了一个sub
  • “用瓷砖填充图案”难题

    我在为基于图块的游戏编写随机关卡生成器时遇到了一个有趣的问题 我已经为其实现了一个强力求解器 但它的速度呈指数级缓慢 并且绝对不适合我的用例 我不一定要寻找完美的解决方案 我会对性能良好的 足够好 的解决方案感到满意 问题陈述 假设您拥有以
  • SIFT 描述符的计算复杂度?

    The SIFT描述符 http www aishack in tutorials sift scale invariant feature transform introduction 是 David Lowe 提出的局部描述符 该描述符
  • AFNetworking 2.0 请求自定义标头

    我试图避免在这里问这样的新问题 但我是一名正在学习 IOS 的 Android 开发人员 我一生都无法弄清楚如何使用 AFNetworking 2 0 在我的帖子请求中添加一个简单的标头 下面是到目前为止我的代码 如果我想发出不需要标头的请
  • 在 Firebase Flutter 上更新数组内的项目

    我制作了一个聊天应用程序 我希望用户能够将聊天室标记为收藏夹或将聊天室静音 我的数据库的结构如下图所示 我想要的是当用户尝试将聊天室静音或将其标记为收藏夹时 我只更新与 chatroomId 匹配的项目 但经过大量搜索后 我发现 Fireb
  • IllegalArgumentException:无法从当前目标找到导航操作/目标包名称/action_xxx

    当我尝试在视图页面中从一个片段导航到另一个片段时 我遇到了 Android 导航架构组件的问题 出现以下错误 java lang IllegalArgumentException Navigation action destination
  • 超时过期,优化查询

    我有这个查询来获取两个日期之间账单的所有详细信息 SELECT DT FROM DetailTable DT BillTable BT PackageTable PT WHERE PT Id BT IdPackage AND DT IdBi
  • Angular2:发出请求时如何从客户端向服务器发送数据

    客户端有一个表单和一个按钮 我想将用户在表单中输入的数据发送到服务器 其中有将数据保存到数据库以及从数据库到客户端的请求处理程序 我该怎么做我对逻辑感到困惑 我认为使用了主体解析器 还有标头的作用是什么 在这种情况下请求选项 我找到了该解决
  • 在 CQL Cassandra 中查找非主键列的不同值

    我使用以下代码来创建表 CREATE KEYSPACE mykeyspace WITH REPLICATION class SimpleStrategy replication factor 1 USE mykeyspace CREATE