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

Teknik Pure-SQL untuk Baris Penomoran Otomatis di Kumpulan Hasil

Untuk memiliki nomor baris yang berarti, Anda perlu mengurutkan hasil Anda. Kemudian Anda dapat melakukan sesuatu seperti ini:

SELECT id, name
    , (SELECT COUNT(*) FROM people p2 WHERE name='Spiewak' AND p2.id <= p1.id) AS RowNumber
FROM people p1
WHERE name = 'Spiewak'
ORDER BY id

Perhatikan bahwa klausa WHERE dari sub kueri harus cocok dengan klausa WHERE atau kunci utama dari kueri utama dan ORDER BY dari kueri utama.

SQL Server memiliki konstruksi ROW_NUMBER() OVER untuk menyederhanakan ini, tetapi saya tidak tahu apakah MySQL memiliki sesuatu yang istimewa untuk mengatasinya.

Karena posting saya di sini diterima sebagai jawaban, saya juga ingin memanggil tanggapan Dan Goldstein, yang sangat mirip dalam pendekatan tetapi menggunakan JOIN alih-alih sub kueri dan akan sering berkinerja lebih baik



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. .NET Core 2.1 Identity mendapatkan semua pengguna dengan peran terkaitnya

  2. Ambil Nilai Unik dan Hitungan Untuk Setiap

  3. berikan akses jarak jauh database MySQL dari alamat IP mana pun

  4. Cegah data duplikat dimasukkan ke database mysql

  5. Penghitung PILIH MySQL, Grup Oleh