sql >> Databáze >  >> RDS >> Mysql

sqlalchemy func.group_concat a náhodné pořadí dat

Výsledky SQL jsou (multi) sady a jako takové nemají žádné řazení, pokud je výslovně nedefinujete. To platí pro řádky skupiny vytvořené GROUP BY také; ve skupinách není žádné pořadí, a tak agregáty přijímají hodnoty v jakémkoli pořadí, v jakém aktuální dotaz v závislosti na plánu, fyzickém rozvržení, plánování atd. vytváří. Řešením je explicitně definovat objednávka :

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

Toto používá obecnou funkci operátora k vytvoření požadované syntaxe SQL. SQLAlchemy poskytuje aggregate_order_by helper pro stejnou syntaxi, ale je poskytován pouze pro dialekt Postgresql.




  1. Začínáme s GearHost pro vývoj databáze SQL Server

  2. SQL Server – Kumulativní součet, který se resetuje při zjištění 0

  3. Chyba syntaxe SQL JpaRepository při pokusu o uložení do MySQL Date

  4. Hostitel MySQL '::1' nebo '127.0.0.1' se nemůže připojit k tomuto serveru MySQL