Artikel ini membawakan anda pengetahuan yang berkaitan tentang Oracle, yang terutamanya mengatur isu yang berkaitan dengan data berkumpulan membolehkan data dibahagikan kepada kumpulan logik supaya setiap kumpulan boleh dilaksanakan Mari kita lihat pengiraan agregat. Saya harap ia akan membantu semua orang.
Tutorial yang disyorkan: "Tutorial Video Oracle"
Pengelompokan membolehkan data dibahagikan kepada kumpulan logik supaya setiap Kumpulan melakukan agregat pengiraan.
1 Buat kumpulan
Kumpulan dibuat menggunakan klausa GROUP BY dalam pernyataan SELECT.
Contoh:
SELECT vend_id, count(*) as num_prodsfrom productsgroup by vend_id;
Memandangkan GROUP BY digunakan, ia tidak perlu menyatakan setiap kumpulan untuk dinilai dan dikira, Ini dilakukan secara automatik. Klausa GROUP BY mengarahkan Oracle untuk mengumpulkan data dan melakukan pengagregatan pada setiap kumpulan (bukan pada keseluruhan set hasil).
Sebelum menggunakan GROUP BY, disenaraikan di bawah adalah beberapa peraturan penting yang perlu anda ketahui tentang menggunakannya.
- Klausa GROUP BY boleh mengandungi seberapa banyak lajur yang diperlukan. Ia membenarkan pengumpulan bersarang, memberikan kawalan yang lebih terperinci tentang cara data dikumpulkan.
- Jika anda mempunyai kumpulan bersarang dalam kumpulan mengikut klausa, data akan diringkaskan pada kumpulan terakhir yang ditentukan. Dalam erti kata lain, apabila membina kumpulan, semua lajur yang ditentukan akan dinilai bersama (jadi data tidak akan diambil untuk setiap lajur individu).
- Setiap lajur yang disenaraikan dalam kumpulan oleh mestilah lajur yang diambil semula atau ungkapan yang sah (bukan fungsi agregat). Jika ungkapan digunakan dalam pilih, ungkapan yang sama mesti dinyatakan dalam kumpulan mengikut. Alias tidak boleh digunakan.
- Kecuali penyata pengiraan agregat, setiap lajur dalam penyata SELECT sepatutnya muncul dalam klausa GROUP BY.
- Jika lajur pengumpulan mengandungi lajur dengan nilai NULL, NULL akan dikembalikan sebagai kumpulan. Jika terdapat berbilang baris dengan nilai NULL, kesemuanya akan dikumpulkan bersama.
- Klausa GROUP BY mesti muncul selepas klausa WHERE dan sebelum klausa ORDER BY.
2. Pengumpulan penapis
Klausa tempat juga biasanya digunakan untuk penapisan baris. Walau bagaimanapun, di mana tidak digunakan di sini kerana di mana boleh menapis baris tertentu, bukan mengumpulkannya. Malah, mana tidak boleh digunakan untuk kumpulan.
Oracle menyediakan klausa lain untuk ini: HAVING. Satu-satunya perbezaan antara klausa where dan klausa mempunyai ialah tempat menapis baris, sambil mempunyai kumpulan penapis.
**Petua: **mempunyai menyokong semua operator di mana
Peraturan di mana dan mempunyai sintaks yang sama, hanya kata kunci yang berbeza.
Contoh:
SELECT cust_id, COUNT(*) AS ordersFROM ordersGROUP BY cust_idHAVING COUNT(*) >= 2;
Nota: Perbezaan antara memiliki dan di mana
Lihat perbezaan antara mempunyai dan di mana dari sudut lain: tempat penapisan berlaku sebelum data, manakala penapisan berlaku selepas pengumpulan data. Ini ialah perbezaan penting, baris dipadamkan oleh klausa di mana tidak disertakan dalam kumpulan. Ini mungkin mengubah nilai yang dikira berdasarkan nilai yang digunakan dalam klausa yang mempunyai, yang seterusnya boleh menjejaskan kumpulan mana yang akan ditapis.
Contoh penggunaan klausa where dan mempunyai klausa pada masa yang sama:
select vend_id, count(*), as num_prodsfrom productswhere prod_price>=10group by vend_idhaving count(*) > 2;
SELECT vend_id, COUNT(*) AS num_prodsFROM productsGROUP BY vend_idHAVING COUNT(*) >= 2;
3. Mengelompokkan dan menyusun
Terdapat perbezaan besar antara kumpulan mengikut dan mengikut, walaupun ia biasanya digunakan untuk mencapai perkara yang sama.
Jadual berikut menerangkan perbezaan antara susunan mengikut dan kumpulan mengikut
order by | group by |
---|---|
对生成的输出进行排序 | 对行进行分组,不过输出可能没有采用采用分组顺序 |
可能使用任意列(甚至包括没有选择的列) | 只可能使用所选的列或者表达式,并且一定会使用所有选择的列表达式 |
从来都不是必须的 | 如果结合使用列(或者表达式)与聚合函数,则必需的 |
时常,你会发现使用GROUP BY分组的数据的确是以分组顺序输出的。但是并非总是如此,并且实际上SQL规范也并没有如此要求。而且你实际上可能希望它以不同于分组的方式进行排序。你以一种方式对数据进行分组(以获得特定于分组的聚合值),并不意味着你也希望输出以相同的方式进行排序。总是应该还提供一个显式的ORDER BY子句,即使它与GROUP BY子句完全相同。
提示:不要忘记ORDER BY
通常,无论何时使用GROUP BY子句,还应该指定一个ORDER BY子句,这是确保正确地对数据进行排序的唯一方式。永远不要依靠GROUP BY对数据排序。
为了演示同时使用GROUP BY和ORDER BY的情况,让我们看一个示例。下面的SELECT语句类似于之前使用的SELECT语句。它用于检索总价在50以上(含50)的所有订单的订单号和订单总价:
SELECT order_num, SUM(quantity*item_price) AS ordertotalFROM orderitemsGROUP BY order_numHAVING SUM(quantity*item_price) >= 50;
要按订单总价对输出进行排序,只需添加一个ORDER BY子句,如下:
SELECT order_num, SUM(quantity*item_price) AS ordertotalFROM orderitemsGROUP BY order_numHAVING SUM(quantity*item_price) >= 50ORDER BY ordertotal;
4、select子句排序
select子句和它们的顺序
子句 | 描述 | 是否必须 |
---|---|---|
select | 要返回的列或表达式 | Y |
from | 要从中检索数据的表 | Y(在Oracle中是必须的;在大多数其他的DBMS中则不是) |
where | 行级过滤(分组前过滤) | N |
group by | 分组规范 | 仅当按分组计算聚合值时是必须的 |
having | 分组级过滤(分组后过滤) | N |
order by | 输出的排列顺序 | N |
推荐教程:《Oracle视频教程》
Atas ialah kandungan terperinci Contoh Oracle menerangkan data terkumpul secara terperinci. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Tujuan teras sandaran dan pemulihan Oracle adalah dengan cepat memulihkan pangkalan data ke keadaan yang konsisten apabila data hilang atau rosak. 1. Fasa sandaran: Salin fail pangkalan data ke media sandaran melalui RMAN atau alat lain. 2. Fasa Pemulihan: Apabila pangkalan data gagal, mulakan semula data sandaran, dan kemudian pulihkan ke keadaan pra-gagal dengan menggunakan fail log REDO.

Oraclerac mencapai ketersediaan dan skalabiliti yang tinggi melalui penyimpanan pangkalan data berbilang nod. Prinsip kerja termasuk pengimbangan beban, failover dan pengembangan nod dinamik untuk memastikan operasi sistem dan konsistensi data yang cekap.

Menggunakan dan menguruskan pangkalan data Oracle dalam OCI boleh dicapai melalui langkah -langkah berikut: 1. Buat contoh pangkalan data dan tetapkan parameter konfigurasi menggunakan OCIPYTHONSDK; 2. Konfigurasi sumber rangkaian dan penyimpanan; 3. Sambungkan ke pangkalan data dan laksanakan pertanyaan SQL; 4. Melaksanakan operasi sandaran dan pemulihan pangkalan data; 5. Mengoptimumkan prestasi pangkalan data dengan menyesuaikan konfigurasi sumber, pengoptimuman rangkaian dan dasar sandaran. Ini adalah proses yang sangat automatik di mana pengguna hanya perlu menyediakan parameter konfigurasi yang diperlukan dan OCI akan mengendalikan kerja yang tinggal.

Penyediaan wawancara Oracledba memerlukan menguasai pengetahuan teras seperti seni bina pangkalan data, penalaan prestasi, dan sandaran dan pemulihan. 1. Memahami skema pangkalan data Oracle, termasuk hubungan antara keadaan dan pangkalan data. 2. Kaedah penalaan prestasi induk, seperti penalaan SQL dan pengoptimuman indeks. 3. Biasa dengan strategi sandaran dan pemulihan dan gunakan alat pam RMAN dan data. Melalui persiapan ini, anda boleh menunjukkan kemahiran profesional anda dalam wawancara dan berjaya lulus wawancara.

Penalaan OraclesQL dapat meningkatkan prestasi pertanyaan melalui langkah -langkah berikut: 1. Buat indeks yang sesuai, seperti membuat indeks untuk lajur jabatan; 2. Menganalisis pelan pelaksanaan, gunakan perintah menerangkan untuk melihat dan mengoptimumkan; 3. Melakukan penulisan semula SQL, seperti menggunakan subqueries untuk mengelakkan operasi sambungan yang tidak perlu. Melalui kaedah ini, kecekapan pertanyaan pangkalan data Oracle dapat ditingkatkan dengan ketara.

Keselamatan pangkalan data Oracle dapat dicapai melalui pelbagai langkah, termasuk pengesahan, kebenaran, penyulitan dan pengauditan. 1) Gunakan fail kata laluan untuk pengesahan dan kebenaran pengguna; 2) melindungi data sensitif melalui penyulitan data telus (TDE); 3) Gunakan pangkalan data peribadi maya (VPD) untuk mencapai kawalan akses halus; Kaedah ini memastikan kerahsiaan, integriti dan ketersediaan data.

OracleGoldEngate membolehkan replikasi dan integrasi data masa nyata dengan menangkap log transaksi pangkalan data sumber dan menggunakan perubahan pada pangkalan data sasaran. 1) Tangkap perubahan: Baca log transaksi pangkalan data sumber dan tukarnya ke fail jejak. 2) Perubahan penghantaran: Transmisi ke sistem sasaran melalui rangkaian, dan penghantaran diuruskan menggunakan proses pam data. 3) Perubahan Aplikasi: Pada sistem sasaran, proses salinan membaca fail jejak dan menggunakan perubahan untuk memastikan konsistensi data.

Prosedur, fungsi dan pakej dalam OraclePL/SQL digunakan untuk melaksanakan operasi, mengembalikan nilai dan menyusun kod, masing -masing. 1. Proses ini digunakan untuk melakukan operasi seperti mengeluarkan salam. 2. Fungsi ini digunakan untuk mengira dan mengembalikan nilai, seperti mengira jumlah dua nombor. 3. Pakej digunakan untuk mengatur unsur -unsur yang relevan dan meningkatkan modulariti dan mengekalkan kod, seperti pakej yang menguruskan inventori.


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

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa