Heim >Backend-Entwicklung >Golang >Verschachtelte Aggregation in der Ent-Abfrage
PHP-Editor Apple stellt Ihnen in diesem Artikel „Nested Aggregation in Ent Query“ vor. Bei der Datenabfrage und -analyse ist die verschachtelte Aggregation eine leistungsstarke Technik, mit der mehrere Ebenen von Aggregationsvorgängen in einer einzigen Abfrage ausgeführt werden können. Durch die Verwendung verschachtelter Aggregationen können wir eingehende Datenanalysen flexibler durchführen und genauere Ergebnisse erzielen. In diesem Artikel wird ausführlich erläutert, was verschachtelte Aggregation ist und wie verschachtelte Aggregationsvorgänge im Ent-Framework implementiert werden, um den Lesern zu helfen, diese Technologie besser zu verstehen und anzuwenden.
Wie schreibe ich diese einfache SQL-Anweisung mit dem von ent generierten Code?
select max(t.sum_score) from (select sum(score) as "sum_score" from matches group by team) as t
Ich habe versucht, die hier beschriebenen Funktionsflags für benutzerdefinierte SQL-Modifikatoren zu verwenden, weiß aber nicht, wie ich von außerhalb des Modifikators auf das Feld sum_score
zugreifen kann.
Dies ist die Antwort des HNO-Projektinhabers a8m (Vielen Dank!)
client.Match.Query(). Aggregate(func(s *sql.Selector) string { const as = "max_score" s.GroupBy(match.FieldTeam).OrderBy(sql.Desc(as)).Limit(1) return sql.As(sql.Sum(match.FieldScore), as) }). IntX(ctx)
Die vollständige Antwort finden Sie hierim offiziellen Github-Repository.
Ich musste sql.desc(as)
hinzufügen, um den Maximalwert zu erhalten.
Das obige ist der detaillierte Inhalt vonVerschachtelte Aggregation in der Ent-Abfrage. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!