Rumah >pangkalan data >tutorial mysql >Bagaimana untuk mengisih data dalam MySQL

Bagaimana untuk mengisih data dalam MySQL

WBOY
WBOYke hadapan
2023-05-30 22:10:575217semak imbas

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;

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;

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;

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;
  • 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;

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!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam