Bagikan melalui


Bekerja dengan Kolom dalam Kueri Agregat (Alat Visual Database)

Saat Anda membuat kueri agregat , Kueri dan Perancang Tampilan 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 klausa GROUP BY sehingga Anda tidak secara tidak sengaja mencoba menampilkan konten baris individual dalam ringkasan.

Menggunakan Kelompok Berdasarkan

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 klausa GROUP BY. Kolom tidak ditambahkan secara otomatis ke klausa GROUP BY jika sudah menjadi bagian dari fungsi agregat.

    Jika Anda tidak ingin kolom tertentu menjadi bagian dari klausa GROUP BY, Anda harus mengubahnya secara manual dengan memilih opsi lain di kolom Kelompokkan Menurut dari panel Kriteria. Namun, Kueri dan Desainer Tampilan tidak akan mencegah Anda memilih opsi yang bisa menghasilkan kueri yang tidak akan 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 dari klausa GROUP BY atau fungsi agregat.

Saat Anda memasukkan kondisi pencarian ke kolom Filter panel Kriteria, Kueri dan Perancang Tampilan mengikuti aturan berikut:

  • Jika kolom Kelompokkan Menurut 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 Di mana di kolom Kelompokkan Menurut , kondisi pencarian ditempatkan ke dalam klausa WHERE.

  • Jika kolom Kelompokkan Menurut berisi nilai apa pun selain Di mana, kondisi pencarian ditempatkan dalam klausa HAVING.

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 (klausa WHERE) atau untuk menentukan hasil yang dikelompokkan mana yang muncul dalam output akhir (klausa HAVING).

  • Kolom data individual dapat muncul di klausa WHERE atau HAVING, tergantung pada bagaimana kolom tersebut digunakan di tempat lain dalam kueri.

  • Klausa WHERE 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 dalam klausa WHERE meskipun itu bukan bagian dari klausa GROUP BY 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 klausul GROUP BY atau fungsi agregat, kondisi pencarian dapat muncul sebagai klausul WHERE atau klausa HAVING - Anda dapat memutuskan kapan Anda 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 dari klausa HAVING.

Lihat Juga

Meringkas Hasil Kueri (Alat Database Visual)
Pengurutan dan Pengelompokan Hasil Kueri (Alat Database Visual)