【问题标题】:get all rows where column value is same in cassandra cql获取cassandra cql中列值相同的所有行
【发布时间】:2018-09-27 11:56:13
【问题描述】:

这是我的桌子。

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

PRIMARY KEY(分区键)是 emp_id。

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

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

select * FROM emp WHERE emp_name='SACHHYA';

但我得到一个错误:

InvalidRequest:来自服务器的错误:code=2200 [无效查询] message="非主键列 (emp_name) 上的谓词尚未 支持非二级索引查询”

【问题讨论】:

  • 我认为这解释了你的问题stackoverflow.com/questions/19231778/…
  • 更改表格,以便PRIMARY KEY (emp_name, emp_id),您可以
  • @Horia 和 Chris Lohfink 感谢您宝贵的时间和链接。

标签: database cassandra cql cqlsh


【解决方案1】:

我为我的问题找到了一种解决方案,我们可以在“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

【讨论】:

    猜你喜欢
    • 2013-07-15
    • 1970-01-01
    • 2014-07-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多