I get an error saying the countall doesn't appear in the groupby, or
its not an aggregating function.
sqlalchemy.exc.ProgrammingError: (ProgrammingError) column
"anon_2.countall" must appear in the GROUP BY clause or be used in an
aggregate function
session = SqlMapping().createSession()
subq =
session.query(func.count('*').label('countall')).select_from(ReportableCondition).subquery()
qry = session.query(ReportableCondition.disease,
func.count(1).label('number'),
((100*func.count(1)) /
subq.c.countall)).group_by(ReportableCondition.disease)
for result in qry:
print result
On Aug 29, 5:04 pm, Mike Conley <[email protected]> wrote:
> This should work
>
> subq = sess.query(func.count('*').label('countall')).\
> select_from(FilmParticipation).subquery()
>
> qry = sess.query(FilmParticipation.PartType,
> func.count(1).label('Amount'),
> ((100*func.count(1)) / subq.c.countall)).\
> group_by(FilmParticipation.PartType)
>
> --
> Mike Conley
>
>
>
> On Mon, Aug 29, 2011 at 3:05 PM, nospam <[email protected]> wrote:
> > I'm trying to construct a query in sqlalchemy similiar to this:
> > SELECT FilmParticipation.PartType, COUNT(*) AS Amount,
> > 100*COUNT(*) /(SELECT count(*) FROM FilmParticipation) AS
> > Percentage_of_Total
> > FROM FilmParticipation
> > GROUP BY FilmParticipation.PartType;
>
> > I create a subquery for the nested select, but, I get a
> > NoSuchColmnError on the percentage part.
>
> > Any ideas how this could be constructed?
>
> > Cheers,
> > Lars
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "sqlalchemy" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected].
> > For more options, visit this group at
> >http://groups.google.com/group/sqlalchemy?hl=en.
--
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en.