Bagaimana rata-rata dihitung di mysql?

MySQL avg() adalah fungsi agregat yang digunakan untuk mengembalikan nilai rata-rata ekspresi dalam berbagai catatan

Sintaksis

Berikut ini adalah sintaks dasar fungsi avg() di MySQL

Penjelasan parameter

agregat_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

Bagaimana rata-rata dihitung di mysql?

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

Sintaksis

Sintaks

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 mentah

Pertama, 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 Dasar

Seperti 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-Rata

Anda 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 BY

Kita 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 BY

Kita 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-Rata

Fungsi

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 OVER

Seperti 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 .