Reversing the order of rows
We're on our way to building great data access logic for displaying a user's timeline of status updates. There's one minor problem though; if I'm viewing alice
's status updates, I'm probably interested in reading her most recent ones first. So far, we've always gotten the status updates in ascending order of id
, meaning the oldest ones come first. Fortunately, we've got a couple of ways to change this.
Reversing clustering order at query time
Using our existing user_status_updates
table, we can instruct Cassandra to return results in reverse order of id
:
SELECT "id", DATEOF("id"), "body" FROM "user_status_updates" WHERE "username" = 'alice' ORDER BY "id" DESC;
This is the first time we've seen an ORDER BY
in CQL, but it should be familiar to anyone who's worked with a SQL database: the DESC
tells Cassandra that we want to order rows by descending values in the id
column:
You might assume that the ORDER BY
gives us a lot of flexibility in ordering rows—you might think...