当前仅在PRIMARY KEY的聚集列上支持Order by [英] Order by is currently only supported on the clustered columns of the PRIMARY KEY

查看:226
本文介绍了当前仅在PRIMARY KEY的聚集列上支持Order by的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

cassandra2.0.7 cql 3.1.1

cassandra2.0.7 cql 3.1.1

CREATE TABLE playlists (
  id uuid,
  song_order int,
  song_id uuid,
  title text,
  album text,
  artist text,
  PRIMARY KEY  (id, song_order ) );


INSERT INTO playlists (id, song_order, song_id, title, artist, album)
  VALUES (62c36092-82a1-3a00-93d1-46196ee77204, 1,
  a3e64f8f-bd44-4f28-b8d9-6938726e34d4, 'La Grange', 'ZZ Top', 'Tres Hombres');

INSERT INTO playlists (id, song_order, song_id, title, artist, album)
  VALUES (62c36092-82a1-3a00-93d1-46196ee77204, 2,
  8a172618-b121-4136-bb10-f665cfc469eb, 'Moving in Stereo', 'Fu Manchu', 'We Must Obey');

INSERT INTO playlists (id, song_order, song_id, title, artist, album)
  VALUES (62c36092-82a1-3a00-93d1-46196ee77204, 3,
  2b09185b-fb5a-4734-9b56-49077de9edbf, 'Outside Woman Blues', 'Back Door Slam', 'Roll Away');


  SELECT * FROM playlists WHERE id = 62c36092-82a1-3a00-93d1-46196ee77204  
  ORDER BY song_order DESC LIMIT 2;

error: Order by is currently only supported on the clustered columns
   of the PRIMARY KEY, got song_order

此演示来自: http ://www.datastax.com/documentation/cql/3.1/cql/cql_reference/select_r.html

谁可以告诉我为什么?
谢谢!

who can tell me why ? thanks!

推荐答案

在创建表时尝试一下。

CREATE TABLE playlists ( 
    id uuid, song_order int, song_id uuid, title text, album text, artist text, 
    PRIMARY KEY (id, song_order)) WITH CLUSTERING ORDER BY (song_order ASC);

这篇关于当前仅在PRIMARY KEY的聚集列上支持Order by的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆