SQLAlchemyのGroupby

  • March 18, 2007 16:20

ぜんぜん進まないSQLAlchemyの勉強ですが、理解してから書くといつになるか分からないので 分からないなりに書いてしまおうかと思います。

単純にcountするだけなら

from sqlalchemy.ext.sqlsoup import SqlSoup
db = SqlSoup("mysql://username:password@localhost/dbname")
count = db.table_name.count(db.table_name.c.col_name=="hoge")
# or
count = db.table_name.count_by(colname="hoge")

みたいな感じいいのだけど

select hoge, count(*) from table_name group by 1

みたいのをどうするかよく分からない。

rp = db.engine.execute('select hoge, count(*) from table_name group by 1')

でもいいんだけどどうするかなぁ。 全部取得してからごにょごにょやってもいいだけど件数が多いときにどうなるのか気になるところ。

ということで、しらべてから後でここに書く