MySQL avg() adalah fungsi agregat yang digunakan untuk mengembalikan nilai rata-rata ekspresi dalam berbagai catatan Show
SintaksisBerikut ini adalah sintaks dasar fungsi avg() di MySQL Penjelasan parameteragregat_ekspresi. Ini menentukan kolom atau ekspresi yang akan kita temukan hasil rata-ratanya table_name. Ini menentukan tabel dari mana kita ingin mengambil catatan. Harus ada setidaknya satu tabel yang tercantum dalam klausa FROM kondisi WHERE. Itu opsional. Ini menentukan kondisi yang harus dipenuhi untuk catatan yang akan dipilih Contoh fungsi MySQL avg()Pertimbangkan database kami memiliki tabel bernama karyawan, memiliki data berikut. Sekarang, kita akan memahami fungsi ini dengan berbagai contoh 1. Contoh Dasar Jalankan kueri berikut yang menghapus rekaman duplikat di kolom working_hours tabel karyawan, lalu mengembalikan nilai rata-rata Saat menggunakan MySQL, Anda dapat menggunakan fungsi SELECT Name, District, Population FROM City WHERE CountryCode = 'AUS';5 untuk menghitung nilai rata-rata dari rentang nilai Misalnya, Anda dapat menggunakan fungsi ini untuk mengetahui rata-rata populasi kota untuk negara atau negara bagian tertentu. Mengingat suatu negara akan memiliki banyak kota, masing-masing dengan populasi yang berbeda, Anda dapat mengetahui rata-rata di antara kota-kota tersebut. Satu kota mungkin memiliki populasi, katakanlah, 50.000 sementara yang lain memiliki populasi 500.000. Fungsi SELECT Name, District, Population FROM City WHERE CountryCode = 'AUS';5 akan menghitung rata-rata untuk Anda SintaksisSintaks SELECT Name, District, Population FROM City WHERE CountryCode = 'AUS';5 berjalan seperti ini AVG([DISTINCT] expr) [over_clause] Di mana SELECT Name, District, Population FROM City WHERE CountryCode = 'AUS';8 adalah ekspresi yang Anda inginkan rata-ratanya _ SELECT Name, District, Population FROM City WHERE CountryCode = 'AUS';_9 adalah klausa opsional yang berfungsi dengan fungsi jendela. Cara kerja fungsi jendela adalah, untuk setiap baris dari kueri, lakukan penghitungan menggunakan baris yang terkait dengan baris tersebut. Dalam hal ini, SELECT Name, District, Population FROM City WHERE CountryCode = 'AUS';_9 menentukan cara mempartisi baris kueri menjadi grup untuk diproses oleh fungsi jendela. Perhatikan bahwa SELECT Name, District, Population FROM City WHERE CountryCode = 'AUS';_9 hanya dapat digunakan jika Anda tidak menggunakan kata kunci +---------------+-----------------+------------+ | Name | District | Population | +---------------+-----------------+------------+ | Sydney | New South Wales | 3276207 | | Melbourne | Victoria | 2865329 | | Brisbane | Queensland | 1291117 | | Perth | West Australia | 1096829 | | Adelaide | South Australia | 978100 | | Canberra | Capital Region | 322723 | | Gold Coast | Queensland | 311932 | | Newcastle | New South Wales | 270324 | | Central Coast | New South Wales | 227657 | | Wollongong | New South Wales | 219761 | | Hobart | Tasmania | 126118 | | Geelong | Victoria | 125382 | | Townsville | Queensland | 109914 | | Cairns | Queensland | 92273 | +---------------+-----------------+------------+2 Data mentahPertama, inilah data mentah yang akan kami gunakan untuk contoh di halaman ini SELECT Name, District, Population FROM City WHERE CountryCode = 'AUS'; Hasil +---------------+-----------------+------------+ | Name | District | Population | +---------------+-----------------+------------+ | Sydney | New South Wales | 3276207 | | Melbourne | Victoria | 2865329 | | Brisbane | Queensland | 1291117 | | Perth | West Australia | 1096829 | | Adelaide | South Australia | 978100 | | Canberra | Capital Region | 322723 | | Gold Coast | Queensland | 311932 | | Newcastle | New South Wales | 270324 | | Central Coast | New South Wales | 227657 | | Wollongong | New South Wales | 219761 | | Hobart | Tasmania | 126118 | | Geelong | Victoria | 125382 | | Townsville | Queensland | 109914 | | Cairns | Queensland | 92273 | +---------------+-----------------+------------+_ Contoh DasarSeperti yang dapat Anda lihat dari data mentah di atas, beberapa “Kabupaten” memiliki lebih dari satu kota, dan setiap kota memiliki populasi yang berbeda. Kita dapat menggunakan fungsi SELECT Name, District, Population FROM City WHERE CountryCode = 'AUS';_5 untuk mencari rata-rata populasi kota-kota di setiap distrik SELECT District, AVG(Population) AS 'Average Population' FROM City WHERE CountryCode = 'AUS' AND District = 'New South Wales'; Hasil +-----------------+--------------------+ | District | Average Population | +-----------------+--------------------+ | New South Wales | 998487.2500 | +-----------------+--------------------+ Jadi kita bisa melihat bahwa New South Wales memiliki populasi kota rata-rata 998487. 2500 Membulatkan Rata-RataAnda mungkin memperhatikan bahwa hasil dari contoh sebelumnya cukup tepat – hasil yang dikembalikan ke empat angka desimal. Dalam kasus kami, ini mungkin terlalu berlebihan. Kami tidak membutuhkan hasil ke tempat desimal keempat. Oleh karena itu, kita dapat menggunakan fungsi +---------------+-----------------+------------+ | Name | District | Population | +---------------+-----------------+------------+ | Sydney | New South Wales | 3276207 | | Melbourne | Victoria | 2865329 | | Brisbane | Queensland | 1291117 | | Perth | West Australia | 1096829 | | Adelaide | South Australia | 978100 | | Canberra | Capital Region | 322723 | | Gold Coast | Queensland | 311932 | | Newcastle | New South Wales | 270324 | | Central Coast | New South Wales | 227657 | | Wollongong | New South Wales | 219761 | | Hobart | Tasmania | 126118 | | Geelong | Victoria | 125382 | | Townsville | Queensland | 109914 | | Cairns | Queensland | 92273 | +---------------+-----------------+------------+_4 untuk membulatkannya ke bilangan bulat terdekat (atau ke bilangan desimal tertentu jika kita menginginkannya) Berikut adalah contoh pembulatan hasil ke bilangan bulat terdekat SELECT District, ROUND(AVG(Population)) AS 'Average Population' FROM City WHERE CountryCode = 'AUS' AND District = 'New South Wales'; Hasil +-----------------+--------------------+ | District | Average Population | +-----------------+--------------------+ | New South Wales | 998487 | +-----------------+--------------------+ Secara default, fungsi +---------------+-----------------+------------+ | Name | District | Population | +---------------+-----------------+------------+ | Sydney | New South Wales | 3276207 | | Melbourne | Victoria | 2865329 | | Brisbane | Queensland | 1291117 | | Perth | West Australia | 1096829 | | Adelaide | South Australia | 978100 | | Canberra | Capital Region | 322723 | | Gold Coast | Queensland | 311932 | | Newcastle | New South Wales | 270324 | | Central Coast | New South Wales | 227657 | | Wollongong | New South Wales | 219761 | | Hobart | Tasmania | 126118 | | Geelong | Victoria | 125382 | | Townsville | Queensland | 109914 | | Cairns | Queensland | 92273 | +---------------+-----------------+------------+_4 membulatkan ke bilangan bulat terdekat. Alternatifnya, kami dapat memberikan argumen ke-2 untuk menentukan sejumlah tempat desimal, tetapi dalam kasus ini, kami tidak menginginkannya Klausul GROUP BYKita dapat menggunakan klausa +---------------+-----------------+------------+ | Name | District | Population | +---------------+-----------------+------------+ | Sydney | New South Wales | 3276207 | | Melbourne | Victoria | 2865329 | | Brisbane | Queensland | 1291117 | | Perth | West Australia | 1096829 | | Adelaide | South Australia | 978100 | | Canberra | Capital Region | 322723 | | Gold Coast | Queensland | 311932 | | Newcastle | New South Wales | 270324 | | Central Coast | New South Wales | 227657 | | Wollongong | New South Wales | 219761 | | Hobart | Tasmania | 126118 | | Geelong | Victoria | 125382 | | Townsville | Queensland | 109914 | | Cairns | Queensland | 92273 | +---------------+-----------------+------------+_6 untuk mencantumkan setiap kabupaten/negara bagian, beserta rata-rata populasi kotanya SELECT District, ROUND(AVG(Population)) AS 'Average Population' FROM City WHERE CountryCode = 'AUS' GROUP BY District; Hasil +-----------------+--------------------+ | District | Average Population | +-----------------+--------------------+ | New South Wales | 998487 | | Victoria | 1495356 | | Queensland | 451309 | | West Australia | 1096829 | | South Australia | 978100 | | Capital Region | 322723 | | Tasmania | 126118 | +-----------------+--------------------+ Klausul ORDER BYKita juga dapat menggunakan klausa +---------------+-----------------+------------+ | Name | District | Population | +---------------+-----------------+------------+ | Sydney | New South Wales | 3276207 | | Melbourne | Victoria | 2865329 | | Brisbane | Queensland | 1291117 | | Perth | West Australia | 1096829 | | Adelaide | South Australia | 978100 | | Canberra | Capital Region | 322723 | | Gold Coast | Queensland | 311932 | | Newcastle | New South Wales | 270324 | | Central Coast | New South Wales | 227657 | | Wollongong | New South Wales | 219761 | | Hobart | Tasmania | 126118 | | Geelong | Victoria | 125382 | | Townsville | Queensland | 109914 | | Cairns | Queensland | 92273 | +---------------+-----------------+------------+_7 untuk menentukan kolom yang akan dipesan SELECT District, ROUND(AVG(Population)) AS 'Average Population' FROM City WHERE CountryCode = 'AUS' GROUP BY District ORDER BY `Average Population`; Hasil SELECT Name, District, Population FROM City WHERE CountryCode = 'AUS';0 Perhatikan bahwa, saat mengurutkan dengan alias multi-kata (seperti +---------------+-----------------+------------+ | Name | District | Population | +---------------+-----------------+------------+ | Sydney | New South Wales | 3276207 | | Melbourne | Victoria | 2865329 | | Brisbane | Queensland | 1291117 | | Perth | West Australia | 1096829 | | Adelaide | South Australia | 978100 | | Canberra | Capital Region | 322723 | | Gold Coast | Queensland | 311932 | | Newcastle | New South Wales | 270324 | | Central Coast | New South Wales | 227657 | | Wollongong | New South Wales | 219761 | | Hobart | Tasmania | 126118 | | Geelong | Victoria | 125382 | | Townsville | Queensland | 109914 | | Cairns | Queensland | 92273 | +---------------+-----------------+------------+8), Anda harus menggunakan karakter backtick ( +---------------+-----------------+------------+ | Name | District | Population | +---------------+-----------------+------------+ | Sydney | New South Wales | 3276207 | | Melbourne | Victoria | 2865329 | | Brisbane | Queensland | 1291117 | | Perth | West Australia | 1096829 | | Adelaide | South Australia | 978100 | | Canberra | Capital Region | 322723 | | Gold Coast | Queensland | 311932 | | Newcastle | New South Wales | 270324 | | Central Coast | New South Wales | 227657 | | Wollongong | New South Wales | 219761 | | Hobart | Tasmania | 126118 | | Geelong | Victoria | 125382 | | Townsville | Queensland | 109914 | | Cairns | Queensland | 92273 | +---------------+-----------------+------------+9) alih-alih apostrof ( SELECT District, AVG(Population) AS 'Average Population' FROM City WHERE CountryCode = 'AUS' AND District = 'New South Wales';0) untuk mengapit dua kata Temukan Panjang Karakter Rata-RataFungsi SELECT Name, District, Population FROM City WHERE CountryCode = 'AUS';5 tidak terbatas hanya pada kolom dengan data numerik. Anda juga dapat menggabungkan SELECT Name, District, Population FROM City WHERE CountryCode = 'AUS';5 dengan fungsi lain untuk menemukan rata-rata di area lain Misalnya, dengan menggunakan data sampel kami, kami dapat menemukan panjang karakter rata-rata dari semua nilai di kolom SELECT District, AVG(Population) AS 'Average Population' FROM City WHERE CountryCode = 'AUS' AND District = 'New South Wales';3 SELECT Name, District, Population FROM City WHERE CountryCode = 'AUS';_1 Hasil SELECT Name, District, Population FROM City WHERE CountryCode = 'AUS';_2 Menggunakan Klausul OVERSeperti yang disebutkan, sintaks memungkinkan klausa SELECT District, AVG(Population) AS 'Average Population' FROM City WHERE CountryCode = 'AUS' AND District = 'New South Wales';4 untuk disertakan dalam kueri Anda. Ini bisa menjadi sedikit rumit, tetapi pada dasarnya, klausa SELECT District, AVG(Population) AS 'Average Population' FROM City WHERE CountryCode = 'AUS' AND District = 'New South Wales';4 memungkinkan Anda menentukan cara mempartisi baris kueri ke dalam grup untuk diproses oleh fungsi jendela Ini sebuah contoh SELECT Name, District, Population FROM City WHERE CountryCode = 'AUS';_3 Hasil SELECT Name, District, Population FROM City WHERE CountryCode = 'AUS';_4 Contoh ini mempartisi baris dengan SELECT District, AVG(Population) AS 'Average Population' FROM City WHERE CountryCode = 'AUS' AND District = 'New South Wales';6, memberikan rata-rata untuk setiap partisi (distrik). Ini memungkinkan Anda untuk melihat data yang lebih terperinci, seperti populasi kota, bersama dengan populasi rata-rata untuk distrik tempatnya berada. Bagaimana Anda menghitung jumlah dan rata-rata di MySQL?SUM() dan AVG()
. Kata kunci DISTINCT berlaku untuk kedua fungsi, hanya mengembalikan nilai unik tersebut untuk kolom atau ekspresi gabungan. Jika tidak ada baris yang cocok ditemukan, NULL dikembalikan. SUM(some_expression) calculates a total for the expression, while AVG(some_expression) returns the average value. The DISTINCT keyword is applicable to both functions, returning only those unique values for the aggregated column or expression. In the event no matching rows are found, NULL is returned.
Bagaimana menemukan gaji rata-rata di MySQL?PILIH AVG(gaji) SEBAGAI "Gaji Rata-Rata" DARI karyawan MANA gaji > 25.000 ; . Akibatnya, "Gaji Rata-Rata" akan ditampilkan sebagai nama bidang saat set hasil dikembalikan.
Bagaimana Anda menanyakan rata-rata dalam SQL?Fungsi avg() memiliki sintaks berikut. PILIH AVG( nama_kolom ) DARI nama_tabel ; .
Bagaimana cara MySQL menghitung rata-rata bergerak?Di MySQL, tidak ada fungsi untuk menghitung rata-rata pergerakan . |