2016-04-24 16 views
0

Ich habe eine TabelleCQL: Wählen Sie alle Zeilen, verschiedene Partitionsschlüssel

CREATE TABLE userssbyprofit (
    userid text, 
    profit double, 
    dateupdated timeuuid, 
    PRIMARY KEY (userid, profit, dateupdated) 
) WITH CLUSTERING ORDER BY (profit DESC, dateupdated DESC) 

Userid verwendet werden kann, die vollständigen Benutzerdaten in einer anderen Tabelle nachschlagen. Diese Tabelle bietet eine Geschichte der Benutzer Gewinne. Nehmen Sie den neuesten, um den aktuellen Gewinnbetrag zu finden.

Wie lade ich die 10 profitabelsten Benutzer mit ihrem Gewinnbetrag ab. Ich möchte es basierend auf der Benutzer-ID

werden.

+0

Wählen Sie die Option Benutzerkennung von userssbyprofit limit 10 aus? – Whitefret

+0

@Whitefret Ich möchte alle Spalten nicht nur BenutzerID erhalten, Ihre Lösung würde mir nur Userid geben – Ciaran0

+0

ja, dann mit der userId können Sie eine weitere Abfrage, um alles nicht zu haben? – Whitefret

Antwort

4

Sie müssen eine weitere Tabelle oder Ansicht erstellen, die nur Benutzer-ID und Gewinn haben. Bei einer neuen Tabelle oder View wird die Benutzer-ID nach Profit mit Desc-Order sortiert.

+0

Ich habe jetzt eine Tabelle Benutzer-ID-Text, Gewinn doppelt, PRIMÄRSCHLÜSSEL (Benutzer-ID, Gewinn) ) MIT CLUSTERING ORDER BY (Gewinn DESC), aber das ist die Ergebnisse in zufälliger Reihenfolge – Ciaran0

+1

Wenn Sie nichts dagegen haben, eine Tabelle zu erstellen, tun Sie es andersherum: Primärschlüssel (Gewinn, Benutzer-ID) – Whitefret

+0

@Whitefret bekam es, danke für die Hilfe – Ciaran0