Hello,
I want to have results of a query, ordered by a count() field.
I've tried :
>>>Catalogue._connection.sqlrepr(sqlbuilder.Select([Fournisseurs.q.id,
func.Count(Fournisseurs.q.id)]
,AND(Catalogue.q.marqueID==self.id
,CatalogueFournisseurs.q.fournisseurID==Fournisseurs.q.id
,CatalogueFournisseurs.q.catalogueID==Catalogue.q.id
)
,groupBy=Fournisseurs.q.id
,orderBy=
func.Count(Fournisseurs.q.id)
)
)
SELECT nt_fournisseurs.no_fournisseur,
Count(nt_fournisseurs.no_fournisseur) FROM nt_fournisseurs,
nt_catalogue_fournisseurs, nt_catalogue WHERE ((nt_catalogue.no_marque =
376) AND ((nt_catalogue_fournisseurs.no_fournisseur =
nt_fournisseurs.no_fournisseur) AND
(nt_catalogue_fournisseurs.no_catalogue = nt_catalogue.no_catalogue)))
GROUP BY nt_fournisseurs.no_fournisseur ORDER BY
Count(nt_fournisseurs.no_fournisseur)
But (almost) in MySQL I have an error : ERROR 1111: Invalid use of group
function
The right SQL is
SELECT nt_fournisseurs.no_fournisseur,
Count(nt_fournisseurs.no_fournisseur) AS nn FROM...
ORDER BY nn
How can I make a field alias ?
François
_______________________________________________
sqlobject-discuss mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sqlobject-discuss