Uploaded image for project: 'Cassandra'
  1. Cassandra
  2. CASSANDRA-14376

Limiting a clustering column with a range not allowed when using "group by"

    XMLWordPrintableJSON

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Normal
    • Resolution: Not A Problem
    • Fix Version/s: None
    • Component/s: Legacy/CQL
    • Labels:
      None
    • Environment:

      Cassandra 3.11.1

    • Severity:
      Normal

      Description

      I’m trying to use a range to limit a clustering column while at the same time using `group by` and running into issues. Here’s a sample table:

      create table if not exists samples (name text, partition int, sample int, city text, state text, count counter, primary key ((name, partition), sample, city, state)) with clustering order by (sample desc);

      When I filter `sample` by a range, I get an error:

      select city, state, sum(count) from samples where name='bob' and partition=1 and sample>=1 and sample<=3 group by city, state;
      InvalidRequest: Error from server: code=2200 [Invalid query] message="Group by currently only support groups of columns following their declared order in the PRIMARY KEY"

      However, it allows the query when I change from a range to an equals:

      select city, state, sum(count) from samples where name='bob' and partition=1 and sample=1 group by city, state;

      city | state | system.sum(count)
      -------++-------------------------
       Austin | TX | 2
       Denver | CO | 1

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              mildebrandt Chris mildebrandt
            • Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: