Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk:SQL Server
Saat Anda membuat kueri agregat , Alat Perancang Kueri dan Tampilan (Alat Database Visual) membuat asumsi tertentu sehingga dapat membuat kueri yang valid. Misalnya, jika Anda membuat kueri agregat dan menandai kolom data untuk output, Kueri dan Perancang Tampilan secara otomatis membuat bagian kolom dari GROUP BY klausa sehingga Anda tidak secara tidak sengaja mencoba menampilkan konten baris individual dalam ringkasan.
Gunakan Group By
Kueri dan Desainer Tampilan menggunakan panduan berikut untuk bekerja dengan kolom:
Saat Anda memilih opsi Kelompokkan Menurut atau menambahkan fungsi agregat ke kueri, semua kolom yang ditandai untuk output atau digunakan untuk pengurutan secara otomatis ditambahkan ke
GROUP BYklausa. Kolom tidak secara otomatis ditambahkan keGROUP BYklausul jika sudah menjadi bagian dari fungsi agregat.Jika Anda tidak ingin kolom tertentu menjadi bagian
GROUP BYdari klausa, Anda harus mengubahnya secara manual dengan memilih opsi lain di kolom Kelompokkan Menurut dari panel Kriteria. Namun, Kueri dan Desainer Tampilan tidak mencegah Anda memilih opsi yang bisa menghasilkan kueri yang tidak berjalan.Jika Anda menambahkan kolom output kueri secara manual ke fungsi agregat di panel Kriteria atau SQL, Kueri dan Desainer Tampilan tidak secara otomatis menghapus kolom output lain dari kueri. Oleh karena itu, Anda harus menghapus kolom yang tersisa dari output kueri atau menjadikannya bagian
GROUP BYdari klausa atau fungsi agregat.
Saat Anda memasukkan kondisi pencarian ke kolom Filter panel Kriteria, Kueri dan Perancang Tampilan mengikuti aturan berikut:
Jika kolom Kelompokkan Menurut pada kisi tidak ditampilkan (karena Anda belum menentukan kueri agregat), kondisi pencarian ditempatkan ke dalam klausa
WHERE.Jika Anda sudah berada dalam kueri agregat dan telah memilih opsi Where di kolom Group By, kondisi pencarian ditempatkan dalam
WHEREklausa.Jika kolom Kelompokkan Menurut berisi nilai apa pun selain Di mana, kondisi pencarian ditempatkan dalam
HAVINGklausa.
Menggunakan klausa HAVING dan WHERE
Prinsip berikut menjelaskan cara mereferensikan kolom dalam kueri agregat dalam kondisi pencarian. Secara umum, Anda dapat menggunakan kolom dalam kondisi pencarian untuk memfilter baris yang harus diringkas ( WHERE klausa) atau untuk menentukan hasil yang dikelompokkan mana yang muncul dalam output akhir ( HAVING klausa).
Kolom data individual dapat muncul dalam
WHEREklausa atauHAVING, tergantung pada bagaimana kolom tersebut digunakan di tempat lain dalam kueri.WHEREklausa digunakan untuk memilih subset baris untuk meringkas dan mengelompokkan dan dengan demikian diterapkan sebelum pengelompokan apa pun selesai. Oleh karena itu, Anda dapat menggunakan kolom data dalamWHEREklausul meskipun bukan bagianGROUP BYdari klausa atau terkandung dalam fungsi agregat. Misalnya, pernyataan berikut memilih semua judul yang harganya lebih dari $10,00 dan menghitung rata-rata harga tersebut.SELECT AVG(price) FROM titles WHERE price > 10;Jika Anda membuat kondisi pencarian yang melibatkan kolom yang juga digunakan dalam
GROUP BYklausul atau fungsi agregat, kondisi pencarian dapat muncul sebagaiWHEREklausa atauHAVINGklausa - Anda dapat memutuskan mana saat Membuat kondisi. Misalnya, pernyataan berikut membuat harga rata-rata untuk judul untuk setiap penerbit, lalu menampilkan rata-rata untuk penerbit di mana harga rata-rata lebih besar dari $10,00:SELECT pub_id, AVG(price) FROM titles GROUP BY pub_id HAVING (AVG(price) > 10);Jika Anda menggunakan fungsi agregat dalam kondisi pencarian, kondisi tersebut melibatkan ringkasan dan karenanya harus menjadi bagian
HAVINGdari klausa.