Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL menghitung semua anak tidak peduli berapa banyak jumlahnya

(Ada banyak pendekatan untuk loop/kueri bersarang.. ide perubahan struktur adalah memiliki tabel terpisah yang mencantumkan semua anak dari setiap kategori.. dan memastikan bahwa itu tidak hanya memiliki anak langsung, tetapi juga memiliki sub -anak dan sub-anak... seperti 1 punya anak 2, 2 punya anak 3, 1 punya anak 3, 3 punya anak 5, 1 punya anak 5.. dst.) TAPI, untuk situasi sekarang..

Struktur satu loop dapat berupa :

Mulai kumpulan hasil. ||Kueri untuk semua id kategori dengan induk =0. || Tambahkan masing-masing ke array (X). ||Tutup kumpulan hasil.

Untuk setiap id dalam larik (X):

  • Buat variabel penghitungan baru (z).
  • Buat larik id anak baru (Y).

  • Mulai kumpulan hasil. ||Jumlah kueri * untuk semua item dengan kategori =id saat ini x ||Tambahkan ke variabel penghitungan (z) ||Tutup kumpulan hasil.

  • Mulai kumpulan hasil. ||Kueri untuk semua id kategori di mana induk =id saat ini x ||Tambahkan semua ke larik id anak (Y). ||Tutup kumpulan hasil.

  • sedangkan panjang larik anak (Y)> 0

    • kategori id y =item pertama dalam larik (Y)

    • Mulai kumpulan hasil. ||Kueri untuk semua id kategori di mana induk =id saat ini y. ||Tambahkan semua ke larik id anak (Y). ||Tutup kumpulan hasil.

    • Mulai kumpulan hasil. ||Jumlah kueri * untuk semua item dengan kategori =id saat ini y ||Tambahkan ke variabel penghitungan (z) ||Tutup kumpulan hasil.

    • hapus item pertama dari array (Y)

  • lanjutkan while loop

  • Pada titik ini Anda memiliki jumlah item terakhir (z) untuk id kategori x... lakukan sesuatu dengannya, lalu lanjutkan dengan perulangan for

Akhiri perulangan




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengapa Data Aplikasi Survei Django SessionWizardView saya tidak muncul dalam format yang dapat digunakan di Database MySQL saya?

  2. Bagaimana cara LOAD DATA INFILE di mysql dengan col pertama menjadi Auto Increment?

  3. 7 Cara Menemukan Baris Duplikat saat Mengabaikan Kunci Utama di MySQL

  4. Bagaimana cara menggunakan JdbcTemplate Spring untuk terhubung ke database MySql sederhana?

  5. max(panjang(bidang)) di mysql