


Cara Mengira Kejadian Berturut-turut dalam Lajur Jadual
Apabila bekerja dengan data dalam jadual, adalah berguna untuk mengira bilangan kali nilai berlaku berturut-turut dalam lajur tertentu. Contohnya, jika jadual mengandungi lajur yang mewakili nama pekerja, anda mungkin ingin mengetahui bilangan kali nama pekerja yang sama muncul dalam satu baris.
Masalah
Pertimbangkan jadual berikut:
create table #t (Id int, Name char) insert into #t values (1, 'A'), (2, 'A'), (3, 'B'), (4, 'B'), (5, 'B'), (6, 'B'), (7, 'C'), (8, 'B'), (9, 'B')
Matlamatnya adalah untuk mengira bilangan kejadian berturut-turut bagi setiap nilai dalam Lajur "Nama". Output yang dikehendaki ialah:
Name | Repetition |
---|---|
A | 2 |
B | 4 |
C | 1 |
B | 2 |
Penyelesaian
Satu pendekatan untuk menyelesaikan masalah ini ialah menggunakan konsep nombor baris dan kemudian mengira perbezaan antara mereka untuk mengenal pasti kejadian berturut-turut. Pertanyaan berikut menunjukkan pendekatan ini:
select name, count(*) from (select t.*, (row_number() over (order by id) - row_number() over (partition by name order by id) ) as grp from t ) t group by grp, name;
Penjelasan
Subkueri dalam pertanyaan:
(select t.*, (row_number() over (order by id) - row_number() over (partition by name order by id) ) as grp from t )
mengira nombor baris bagi setiap baris dalam jadual 't'. Fungsi row_number() memberikan nombor berjujukan kepada setiap baris, manakala partition by clause memastikan nombor baris ditetapkan semula untuk setiap nilai yang berbeza dalam lajur "Nama". Ini menghasilkan lajur 'grp', yang menunjukkan kumpulan kejadian berturut-turut untuk setiap gabungan "Nama" dan "Id".
Pertanyaan luar kemudian mengumpulkan hasil mengikut lajur 'grp' dan mengira bilangan kejadian untuk setiap gabungan 'grp' dan 'Nama'. Ini memberikan hasil akhir, yang mengira kejadian berturut-turut bagi setiap nilai dalam lajur "Nama".
Dengan menggunakan perbezaan antara nombor baris, pendekatan ini dengan tepat menentukan kejadian berturut-turut bagi nilai dalam lajur yang ditentukan dan menghasilkan output yang diingini.
Atas ialah kandungan terperinci Bagaimana Mengira Kejadian Nilai Berturut-turut dalam Lajur Pangkalan Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Mysqlviewshavelimitations: 1) theDon'tsupportallsqloperations, bintikDatamanipulationThroughviewswithjoinsorsubqueries.2) merekacanimpactperformance, terutamanya dengan komplekssum

Betul -betul

Mysqldoes'timposeahardlimitontriggers, butpracticalfactorsDeterminetheirefectiveus

Ya, It'sSsafetostoreBlobDatainMysql, ButConserthySefactors: 1) Storagespace: BlobScanconsumesignificantspace, PotensiCreaseScostSandSlowingPerformance.2)

Menambah pengguna MySQL melalui antara muka web PHP boleh menggunakan sambungan MySQLI. Langkah -langkah adalah seperti berikut: 1. Sambungkan ke pangkalan data MySQL dan gunakan sambungan MySQLI. 2. Buat pengguna, gunakan pernyataan CreateUser, dan gunakan fungsi kata laluan () untuk menyulitkan kata laluan. 3. Mencegah suntikan SQL dan gunakan fungsi mysqli_real_escape_string () untuk memproses input pengguna. 4. Berikan kebenaran kepada pengguna baru dan gunakan pernyataan geran.

Mysql'sblobissusuipableforstoringbinarydatawithinarelationaldatabase, sementara

Toaddauserinmysql, gunakan: createuser'username '@' host'identifiedby'password '; here'showtodoitsecurely: 1) choosethehostcareflelytocon trolaccess.2) SetResourcelImitSwithOptionsLikeMax_queries_per_hour.3) USESTRONG, UNIQUEPASSWORDS.4) Enforcessl/TLSConnectionswith

Toavoidcommonmistakeswithstringdatatypesinmysql, fahamistringtypenuances, choosetherighttype, danManageencodingandcollationsettingsefectively.1) usecharfarfixed-lengthstrings, varcharforvariable-length, andtext/blobforlargerdata.2)


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SecLists
SecLists ialah rakan penguji keselamatan muktamad. Ia ialah koleksi pelbagai jenis senarai yang kerap digunakan semasa penilaian keselamatan, semuanya di satu tempat. SecLists membantu menjadikan ujian keselamatan lebih cekap dan produktif dengan menyediakan semua senarai yang mungkin diperlukan oleh penguji keselamatan dengan mudah. Jenis senarai termasuk nama pengguna, kata laluan, URL, muatan kabur, corak data sensitif, cangkerang web dan banyak lagi. Penguji hanya boleh menarik repositori ini ke mesin ujian baharu dan dia akan mempunyai akses kepada setiap jenis senarai yang dia perlukan.

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.

ZendStudio 13.5.1 Mac
Persekitaran pembangunan bersepadu PHP yang berkuasa

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan
