


Bagaimana untuk menyesuaikan hasil pertanyaan JPA menggunakan fungsi agregat?
Kebanyakan masa, apabila kami menggunakan pertanyaan JPA, hasil yang diperoleh dipetakan kepada objek/jenis data tertentu. Tetapi apabila kami menggunakan fungsi agregat dalam pertanyaan, memproses keputusan kadangkala memerlukan kami menyesuaikan pertanyaan JPA.
Mari kita fahami (jabatan, pekerja) melalui contoh −
Dept.java
@Entity public class Dept { @Id private Long id; private String name; @OneToMany(mappedBy = "dep") private List<Employee> emp; //Getters //Setters }
Sesebuah jabatan boleh mempunyai seorang atau lebih pekerja, tetapi pekerja hanya boleh tergolong dalam satu jabatan.
Pekerja.java
@Entity public class Employee { @Id private Long id; private Integer joiningyear; @ManyToOne private Dept dep; //Getters //Setters }
Sekarang, jika kita ingin mendapatkan tarikh sertai dan bilangan pekerja dikumpulkan mengikut tarikh menyertai,
@Repository public interface EmployeeRepository extends JpaRepository<Employee, Long> { // query methods @Query("SELECT e.joiningyear, COUNT(e.joiningyear) FROM Employee AS e GROUP BY e.joiningyear") List<Object[]> countEmployeesByJoiningYear(); }
Pertanyaan di atas berfungsi dengan baik, tetapi menyimpan nilai dalam bentuk Senarai
CountEmployees.java
ialah:CountEmployees.java
package com.tutorialspoint; public class CountEmployees { private Integer joinyear; private Long totalEmp; public CountEmployees(Integer joinyear, Long totalEmp) { this.joinyear = joinyear; this.totalEmp = totalEmp; } //Getters //Setters }
Kini, kami boleh menyesuaikan pertanyaan JPA kami seperti yang ditunjukkan di bawah −
@Query("SELECT new com.tutorialspoint.CountEmployees(e.joiningyear, COUNT(e.joiningyear)) " + "FROM Employee AS e GROUP BY e.joiningyear") List<CountEmployees> countEmployeesByJoining();
Hasil pertanyaan pilihan di atas akan dipetakan ke kelas CountEmployees. Dengan cara ini kita boleh menyesuaikan pertanyaan JPA dan memetakan hasilnya ke kelas java.
Atas ialah kandungan terperinci Bagaimana untuk menyesuaikan hasil pertanyaan JPA menggunakan fungsi agregat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



SUM dalam Oracle digunakan untuk mengira jumlah nilai bukan nol, manakala COUNT mengira bilangan nilai bukan nol semua jenis data, termasuk nilai pendua.

GROUP BY ialah fungsi agregat dalam SQL yang digunakan untuk mengumpulkan data berdasarkan lajur yang ditentukan dan melaksanakan operasi pengagregatan. Ia membenarkan pengguna untuk: Mengumpulkan baris data berdasarkan nilai lajur tertentu. Gunakan fungsi agregat (seperti jumlah, kiraan, purata) pada setiap kumpulan. Buat ringkasan bermakna daripada set data yang besar, lakukan pengagregatan dan pengelompokan data.

Fungsi COUNT dalam Oracle digunakan untuk mengira nilai bukan nol dalam lajur atau ungkapan tertentu Sintaks ialah COUNT(DISTINCT <column_name>) atau COUNT(*), yang mengira bilangan nilai unik dan semua bukan. -nilai nol masing-masing.

Fungsi AVG() MySQL digunakan untuk mengira purata nilai berangka. Ia menyokong pelbagai kegunaan, termasuk: Kira kuantiti purata semua produk yang dijual: PILIH AVG(kuantiti_jualan) DARI jualan Hitung harga purata: AVG(harga) Kira purata volum jualan: AVG(kuantiti_harga *). Fungsi AVG() mengabaikan nilai NULL, gunakan IFNULL() untuk mengira purata nilai bukan nol.

Fungsi kumpulan dalam MySQL digunakan untuk mengira nilai agregat dengan mengumpulkan set data. Fungsi yang biasa digunakan ialah: SUM: Kira jumlah nilai dalam lajur yang ditentukan COUNT: Kira bilangan nilai bukan NULL dalam lajur yang ditentukan AVG: Kira nilai purata nilai dalam lajur yang ditentukan MIN: Kira nilai minimum dalam lajur yang ditentukan MAX: Kira bilangan nilai bukan NULL dalam lajur yang ditentukan nilai maksimum

Fungsi SQL SUM mengira jumlah set nombor dengan menambahkannya bersama-sama. Proses operasi termasuk: 1. Mengenal pasti nilai input 2. Menggelung nilai input dan menukarnya kepada nombor 3. Menambah setiap nombor untuk mengumpul hasil jumlah;

Fungsi SUM() dalam SQL digunakan untuk mengira jumlah lajur berangka. Ia boleh mengira jumlah berdasarkan lajur, penapis, alias, pengelompokan dan pengagregatan berbilang lajur yang ditentukan, tetapi hanya mengendalikan nilai angka dan mengabaikan nilai NULL.

Fungsi agregat dalam SQL digunakan untuk mengira dan mengembalikan nilai tunggal untuk set baris. Fungsi pengagregatan biasa termasuk: Fungsi pengagregatan berangka: COUNT(), SUM(), AVG(), MIN(), MAX() Fungsi pengagregatan set baris: GROUP_CONCAT(), FIRST(), LAST() Fungsi pengagregatan statistik: STDDEV ( ), VARIANCE() fungsi agregat pilihan: COUNT(DISTINCT), TOP(N)
