Pengagregatan bersarang dalam pertanyaan Ent

PHPz
Lepaskan: 2024-02-09 09:36:20
ke hadapan
1093 orang telah melayarinya

Ent 查询中的嵌套聚合

Editor PHP Apple akan memperkenalkan anda kepada "Penggabungan Bersarang dalam Pertanyaan Ent" dalam artikel ini. Dalam pertanyaan dan analisis data, pengagregatan bersarang ialah teknik berkuasa yang boleh melaksanakan berbilang peringkat operasi pengagregatan dalam satu pertanyaan. Dengan menggunakan pengagregatan bersarang, kami boleh menjalankan analisis data yang mendalam dengan lebih fleksibel dan mendapatkan hasil yang lebih tepat. Artikel ini akan menerangkan secara terperinci apa itu pengagregatan bersarang dan cara melaksanakan operasi pengagregatan bersarang dalam rangka kerja Ent untuk membantu pembaca memahami dan menggunakan teknologi ini dengan lebih baik.

Kandungan soalan

Bagaimana untuk menulis pernyataan sql mudah ini menggunakan kod yang dihasilkan oleh ent?

select max(t.sum_score) from
                             (select sum(score) as "sum_score"
                              from matches
                              group by team) as t
Salin selepas log masuk

Saya cuba menggunakan bendera ciri pengubah suai sql tersuai yang diterangkan di sini, tetapi saya tidak tahu cara mengakses medan sum_score dari luar pengubah suai.

Penyelesaian

Ini jawapan daripada pemilik projek ent a8m (Terima kasih!)

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)
Salin selepas log masuk

Anda boleh mendapatkan jawapan penuh di sinidi repositori github rasmi. Saya terpaksa menambah sql.desc(as) untuk mendapatkan nilai maksimum.

Atas ialah kandungan terperinci Pengagregatan bersarang dalam pertanyaan Ent. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!