2009-08-15 17 views
3

Comment puis-je trier les résultats de requête en utilisant plus de 1 propriété? Par exemple, je souhaite classer mes résultats de requête par 'nom' et par ordre 'prénom' dans chaque groupe de 'nom'.Commande de requête Google AppEngine

+0

+1.. Ça devient intéressant. –

Répondre

1

Il suffit d'utiliser deux commandes séparées par des virgules, .: par exemple

SELECT * FROM person ORDER BY lastname, firstname 

Affichez here pour plus de détails.

+0

mais c'est GqlQuery pas Query –

+0

Je peux utiliser GqlQuery à la place, mais je me demande si Query supporte ce genre de commande de quelque façon que ce soit. Je n'ai trouvé aucun exemple dans la documentation de l'API. – Kei

+0

Oh, je n'ai pas compris cela de la question ... Avez-vous essayé '.order (" lastname, firstname ")'? –

2

Avez-vous essayé.

Person.all() commande ("nom") commande ("firstname")

+0

Oui, je l'ai fait. Cependant, order ("firstname") casse le groupement sur "lastname". – Kei

+0

Sûrement que c'est un bug, alors. http://code.google.com/appengine/docs/python/datastore/queryclass.html#Query_order indique «Ajoute une commande pour les résultats, les résultats sont classés à partir de la première commande ajoutée». –

+0

Fonctionne pour moi. C'est une fonctionnalité assez basique - vous pouvez certainement enchaîner des clauses de commande comme celle-ci. –

Questions connexes