Bagaimana untuk mengisih data dalam MySQL

WBOY
Lepaskan: 2023-05-30 22:10:57
ke hadapan
5172 orang telah melayarinya

1. Penggunaan asas pengisihan

  1. Apabila menanyakan data, jika tiada operasi pengisihan digunakan, secara lalai SQL akan menyusun hasil pertanyaan mengikut susunan tupel ditambahkan.

  2. Untuk melaksanakan operasi pengisihan dalam SQL, anda boleh menggunakan kata kunci ORDER BY..... Selepas kata kunci ini, anda boleh menambah kata kunci ASC (naik) untuk menunjukkan tertib menaik (dari kecil ke besar) dan DESC (turun) untuk menunjukkan tertib menurun (dari besar ke kecil).

  3. Jika ASC atau DESC tidak ditambah selepas ORDER BY... kata kunci untuk menunjukkan tertib menaik atau menurun, SQL akan lalai kepada tertib ASC menaik. Seperti yang ditunjukkan dalam kod berikut:

SELECT employee_id, last_name, salary
FROM employees
ORDER BY salary;
Salin selepas log masuk

Hasil pertanyaan:

Bagaimana untuk mengisih data dalam MySQL

[Contoh 1] Soal pekerja dalam jadual pekerja employees employee_id , last_name , salary dan department_id mesej. Dan susun mengikut salary daripada terbesar kepada terkecil (tertib menurun).

SELECT employee_id, last_name, salary
FROM employees
ORDER BY salary DESC;
Salin selepas log masuk

Hasil pertanyaan:

Bagaimana untuk mengisih data dalam MySQL

2 Gunakan alias lajur untuk mengisih

Dalam SQL, anda boleh menggunakan medan (lajur) Alias ​​​. untuk menyusun. Kerana kadangkala kita perlu mengira medan yang tiada dalam jadual (seperti gaji tahunan annual_salary), atau sesetengah nama medan terlalu panjang, menggunakan alias pendek boleh meningkatkan kecekapan pengaturcaraan kita. Seperti yang ditunjukkan dalam contoh berikut:

[Contoh] Tanya maklumat employees, employee_id, gaji bulanan last_name dan gaji tahunan salary pekerja dalam jadual pekerja annual_salary. Dan susun mengikut annual_salary daripada terbesar kepada terkecil (tertib menurun).

SELECT employee_id, last_name, salary, 
salary * (1 + IFNULL(commission_pct, 0) * 12) AS "annual_salary"
FROM employees
ORDER BY annual_salary DESC;
Salin selepas log masuk

Hasil pertanyaan:

Bagaimana untuk mengisih data dalam MySQL

[Nota]

  • keperluan format, WHERE mesti diisytiharkan dalam FROM Selepas.

  • alias lajur hanya boleh digunakan dalam ORDER BY..., bukan dalam WHERE. **Jika anda menggunakan alias lajur dalam WHERE, SQL akan melaporkan ralat. Jadi mengapa alias lajur dalam MySQL tidak boleh digunakan dalam WHERE? Sebabnya adalah seperti berikut:

[Punca]

SELECT employee_id, last_name, department_id
FROM employees
WHERE department_id IN(50, 60, 70)
ORDER BY department_id DESC;
Salin selepas log masuk
  • Dalam SQL, susunan pelaksanaan pernyataan pertanyaan tidak mengikut kod di atas daripada baris 1 hingga baris 1 4 baris mengikut urutan dari atas ke bawah. Sebaliknya, mula-mula laksanakan baris 2 DARI... dan mula-mula cari jadual untuk disoal.

  • Kemudian laksanakan baris 3 WHERE... untuk menapis tupel yang memenuhi syarat.

  • Kemudian laksanakan baris 1 PILIH... untuk memaparkan medan yang anda ingin tanya. Oleh kerana alias lajur dijana hanya dalam langkah ini, pernyataan WHERE yang disediakannya tidak boleh digunakan dalam langkah sebelumnya. Tetapi ia boleh digunakan dalam langkah seterusnya ORDER BY.

  • Akhir sekali, baris ke-4 adalah ORDER BY... , diisih mengikut lajur tertentu. Pada masa ini, anda boleh menggunakan alias lajur untuk mengisih.

Hasil pertanyaan:

Bagaimana untuk mengisih data dalam MySQL

3. Pengisihan sekunder

Dalam kehidupan sebenar, kadangkala kita memerlukan Isih demi satu bidang dan kemudian dengan bidang lain. Dalam SQL kita boleh menggunakan pengisihan sekunder untuk mencapai ini. Sila lihat contoh berikut untuk penggunaan:

[Contoh 1] Tanya ID pekerja employees, nama employee_id, gaji bulanan last_name dan ID jabatan salary pekerja dalam jadual pekerja department_id. Mula-mula susun mengikut ID jabatan department_id dalam tertib menurun, dan kemudian susun mengikut salary daripada besar ke kecil (urutan menurun).

SELECT employee_id, last_name, salary, department_id
FROM employees
ORDER BY department_id DESC, salary DESC;
Salin selepas log masuk

Hasil pertanyaan:

Bagaimana untuk mengisih data dalam MySQL

Dan seterusnya, anda boleh menambah koma selepas ORDER BY untuk mencapai tahap ketiga, tahap keempat... menyusun.

Atas ialah kandungan terperinci Bagaimana untuk mengisih data dalam MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan