2013-01-08 17 views
6

Come selezionare min e max dalla tabella per punteggio colonna? Ciò è possibile con la query di sessione?Come selezionare min e max dalla tabella per punteggio colonna?

class Player(Base): 
    username = Column(String) 
    score = Column(Integer) 
    # more not impoortant columns 
+1

Potrebbe chiarire avete bisogno di valori solo minimo e massimo del punteggio o registrare Player che ha il punteggio minimo e registrare Player che ha punteggio massimo? – vvladymyrov

risposta

19

Per il caso in cui è necessario trovare valori minimi e massimi per il campo del punteggio. È possibile farlo con una sola query utilizzando min e le funzioni Max:

from sqlalchemy.sql import func 
qry = session.query(func.max(Player.score).label("max_score"), 
       func.min(Player.score).label("min_score"), 
       ) 
res = qry.one() 
max = res.max_score 
min = res.min_score 
2
from sqlalchemy import func 
max = session.query(func.max(Table.column)).scalar() 
min = session.query(func.min(Table.column)).scalar()