database - 获取cassandra cql中列值相同的所有行

标签 database cassandra cql cqlsh

这是我的 table 。

cqlsh:sachhya> select * FROM emp;

 emp_id | age | emp_name     | exp | mobile
--------+-----+--------------+-----+------------
      5 |  29 | RAHUL SHARMA |   9 | 2312343123
      1 |  24 |      SACHHYA |  15 | 9090987876
      2 |  14 |      SACHHYA |  15 | 9090987876
      4 |  22 |        ANKUR |  32 | 3213456321
     90 |  30 |       sumeet |   2 |   91234212
      3 |  14 |      SACHHYA |   3 | 9090987876

主键(分区键)是 emp_id。

我想显示 emp_name 为“SACHHYA”的所有行。我应该使用什么命令?

下面是我正在使用的 cql 查询。

select * FROM emp WHERE emp_name='SACHHYA';

但是我得到一个错误:

InvalidRequest: Error from server: code=2200 [Invalid query] message="Predicates on non-primary-key columns (emp_name) are not yet supported for non secondary index queries"

最佳答案

我找到了一个解决我的问题的方法,我们可以在 'emp_name' 列上创建索引,然后我们可以使用 'emp_name' 过滤器。

例如:

 CREATE INDEX NameIndx ON emp (emp_name);
 SELECT * from sachhya.emp WHERE emp_name = 'SACHHYA';

我的输出:

emp_id | age | desegnation      | emp_name | exp | mobile
--------+-----+------------------+----------+-----+------------
    711 |  22 | Trainee Engineer |  SACHHYA |   1 | 9232189345
      2 |  24 |         Engineer |  SACHHYA |   3 | 9033864540

我的表:

 emp_id | age | desegnation      | emp_name | exp  | mobile
--------+-----+------------------+----------+------+------------
      5 |  29 |   Technical Lead |    RAHUL |    9 | 2312343123
     10 |  45 | Deleviry Manager |   ANDREW |   22 | 9214569345
    711 |  22 | Trainee Engineer |  SACHHYA |    1 | 9232189345
      2 |  24 |         Engineer |  SACHHYA |    3 | 9033864540
      4 |  26 |         Engineer |    ANKUR |    3 | 3213456321
     22 |  20 |           Intern |      SAM | null | 8858699345
      7 |  22 | Trainee Engineer |    JACOB |    1 | 9232189345
     17 |  28 |  Senior Engineer |     JACK |    4 | 8890341799
     90 |  30 |  Senior Engineer | HERCULES |    6 | 9353405163
      3 |  32 |   Technical Lead |     ROSS |    8 | 7876561355

关于database - 获取cassandra cql中列值相同的所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49879405/

相关文章:

cassandra - 如何在去中心化集群中设计通知/推送服务?

datetime - 在 Cassandra 中使用日期

Cassandra 硬件参差不齐,如何配置?

cassandra - 在 Cassandra 中管理多对多关系

java - Cassandra CQL表INSERT和INDEX问题

MySQL - 将来自同一个表的多个选择组合成一个结果表与一个组

database - linux中的crontab oracle问题

mysql - 如何在 phpmyadmin 中建立一对一关系?

cassandra获取时间范围内的所有记录

php - 我应该将 1 个数据库用于发布、配置和身份验证还是将其拆分?