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

SQL:Bisakah saya merujuk/mengakses data baris saat ini di fungsi jendela?

Dengan asumsi bahwa Anda menggunakan MySQL, dan dengan asumsi bahwa tabel Anda memiliki nama test , dan dengan asumsi bahwa kedua kolom adalah tipe string:

SELECT
  t1.id, count(t2.list)
FROM
(test t1 LEFT JOIN test t2 ON
  (t2.list LIKE CONCAT('%,', t1.id, ',%')) OR
  (t2.list LIKE CONCAT('%,', t1.id)) OR
  (t2.list LIKE CONCAT(t1.id, ',%')))
GROUP BY t1.id;

Perlu diketahui bahwa solusi ini mungkin sangat lambat tergantung pada jumlah record yang Anda miliki dan tergantung pada panjang rata-rata string dalam list lapangan.

Jika Anda membutuhkan sesuatu yang lebih cepat, saya pikir itu bukan permintaan tunggal. Mungkin kita harus menulis prosedur tersimpan atau logika aplikasi untuk itu, atau menggunakan tabel atau kolom tambahan dan serangkaian beberapa pernyataan SQL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menemukan nilai duplikat di MySQL

  2. Perbaiki "ERROR 1136 (21S01):Jumlah kolom tidak cocok dengan jumlah nilai pada baris 2" saat menggunakan Pernyataan VALUES di MySQL

  3. Cara termudah untuk mengubah array byte menjadi Blob di java

  4. Bagaimana cara menyisipkan beberapa baris dari textareas di MySQL

  5. Pembaruan MySQL dengan pilih dari tabel lain