sql >> Database >  >> RDS >> Mysql

sqlalchemy func.group_concat en willekeurige volgorde van gegevens

SQL-resultaten zijn (meerdere) sets en hebben als zodanig geen volgorde, tenzij u er expliciet een definieert. Dit is van toepassing op groepsrijen geproduceerd door GROUP BY ook; er is geen volgorde binnen de groepen, en dus ontvangen aggregaten waarden in elke volgorde die de huidige query, afhankelijk van plan, fysieke lay-out, planning, enz. toevallig produceert. De oplossing is om expliciet de bestellen :

func.group_concat(t.name.op("ORDER BY")(t.name))

Dit gebruikt een algemene operatorfunctie om de vereiste SQL-syntaxis te produceren. SQLAlchemy biedt de aggregate_order_by helper voor dezelfde syntaxis, maar deze is alleen bedoeld voor het Postgresql-dialect.




  1. Heroku MySQL automatisch verhogen

  2. Meer rijen per groep krijgen met groupBy in Eloquent

  3. De beste manier om een ​​datadictionary te doorzoeken in sql

  4. Hoe kan ik een gebruiker toestemming geven voor alle nieuwe tabellen in Postgres?