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 the order of rows.
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...