Seit MySQL 5.7.5 Gruppe haben WechselLehre, wie ANY_VALUE mysql-Funktion verwenden
https://dev.mysql.com/doc/refman/5.7/en/group-by-handling.html
Wenn ich diese Abfrage
$qb = $this->createQueryBuilder('d');
$qb->select('ANY_VALUE(d.id), d.nom, count(d.nom) as lignes');
$qb->groupBy('d.nom');
$qb->orderBy('d.nom');
ich einen Fehler haben
Expression # 1 von SELECT
Liste ist nicht in GROUP BY
Klausel und enthält nicht aggregierte Spalte 'sepultures.d0_.id
', die nicht funktional abhängig ist nt auf Spalten in GROUP BY-Klausel; dies ist unvereinbar mit sql_mode = only_full_group_by
Wie in mysql doc erklären, kann dieses Problem mit any_value wie diese
$qb = $this->createQueryBuilder('d');
$qb->select('ANY_VALUE(d.id), d.nom, count(d.nom) as lignes');
$qb->groupBy('d.nom');
$qb->orderBy('d.nom');
Aber Lehre erkennen diese Funktion nicht lösen
[2/2] QueryException: [Syntax Error] line 0, col 7: Error: Expected known function, got 'ANY_VALUE'
Wie kann ich es lösen?
min- oder max-funktion verwenden? d.h. 'min (d.id)'. Die Abfrage wird nun in allen Dialekten von SQL gültig sein. –
Es könnte interessant sein zu versuchen, die sucl 'ANY_VALUE' Funktion zu doctrine2 hinzuzufügen? Vielleicht interessant? [Für die PHP-Crowd: Hinzufügen von benutzerdefinierten Funktionen zu Doctrine 2 DQL] (http://punkave.com/window/2012/07/24/for-the-php-crowd-adding-custom-functions-to-doctrine-2 -dql). Außerdem: [DQL User Defined Functions] (http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/cookbook/dql-user-defined-functions.html). –