


Bagaimana untuk Menyusun Semula Rekod dalam Jadual dengan Pertanyaan SQL Tunggal?
Nov 06, 2024 am 04:23 AMMenyusun Semula Rekod dengan Satu Pertanyaan SQL
Dalam jadual bahan makanan dengan medan "Kedudukan" untuk memesan penampilan mereka, satu Pertanyaan SQL boleh mengemas kini berbilang rekod berdasarkan perubahan kepada satu rekod. Ini amat berguna untuk menyusun semula item dalam senarai tertentu.
Andaikan kita mempunyai jadual seperti ini:
id | listID | name | position |
---|---|---|---|
1 | 1 | cheese | 0 |
2 | 1 | chips | 1 |
3 | 1 | bacon | 2 |
4 | 1 | apples | 3 |
5 | 1 | pears | 4 |
6 | 1 | pie | 5 |
Untuk menggerakkan pear sebelum cip, kita boleh menambah kedudukan semua item antara mereka dengan 1.
Walau bagaimanapun, kebanyakan penyelesaian melibatkan berbilang pertanyaan, yang boleh menjadi tidak cekap. Sebaliknya, satu pertanyaan boleh digunakan untuk menyusun semula rekod:
UPDATE my_table SET position = position + CASE WHEN name = 'pears' THEN -3 ELSE 0 END WHERE listID = 1 AND position BETWEEN 1 AND 4;
Formula ini memastikan pear bergerak ke kedudukan 1 dan semua item antara pear dan kerepek ditambah dengan sewajarnya.
Kepada susun semula mana-mana item, cuma gantikan 'pear' dengan nama item yang hendak dialihkan dan laraskan perbezaan mengikut keperluan.
Atas ialah kandungan terperinci Bagaimana untuk Menyusun Semula Rekod dalam Jadual dengan Pertanyaan SQL Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Kurangkan penggunaan memori MySQL di Docker

Bagaimana anda mengubah jadual di MySQL menggunakan pernyataan Alter Table?

Cara menyelesaikan masalah MySQL tidak dapat membuka perpustakaan bersama

Apa itu SQLite? Gambaran Keseluruhan Komprehensif

Jalankan MySQL di Linux (dengan/tanpa bekas podman dengan phpmyadmin)

Menjalankan Pelbagai Versi MySQL di MacOS: Panduan Langkah demi Langkah

Bagaimanakah saya menjamin MySQL terhadap kelemahan biasa (suntikan SQL, serangan kekerasan)?

Bagaimana saya mengkonfigurasi penyulitan SSL/TLS untuk sambungan MySQL?
