1
Ich habe eine AbfragePython sqlalchemy Zählen doppelte Ergebnisse in Abfrage
allcategory = db.session.query(func.count(marketItem.subcategory).label("help"),Subcategories.subname1)
allcategory = allcategory.join(Subcategories)
allcategory = allcategory.filter(marketItem.subcategory == Subcategories.id)
allcategory = allcategory.filter(marketItem.vendor_id==vendorprofile.id)
allcategory = allcategory.group_by(marketItem.id)
for allcat in allcategory.all():
print(allcat)
das ist gibt die Ergebnisse als
(1, 'Consoles')
(1, 'Consoles')
(1, 'Paintings')
(1, 'Paintings')
(1, 'Paintings')
Ich möchte sie
(2, 'Consoles')
(3, 'Paintings')
Wenn es auch sein könnte in regelmäßigen sql-begriffen erklärt werden, das würde auch helfen.
allcategory = db.session.query(func.count(marketItem.subcategory).label("help"),
Subcategories.subname1)
allcategory = allcategory.join(Subcategories)
allcategory = allcategory.filter(marketItem.subcategory==Subcategories.id)
allcategory = allcategory.filter(marketItem.vendor_id==vendorprofile.id)
allcategory = allcategory.group_by(Sucategories.subname1) # < change here
for allcat in allcategory.all():
print(allcat)
In SQL müssen Sie Gruppe durch die Felder, der nicht aggregiert werden - in diesem Fall Subcategories.subname1
:
Arbeite ty! Ich war in der Nähe, schaute aber oben. – Anekdotin
Sie sind herzlich willkommen. – bernie