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

Pencarian Array SQL

Dengan asumsi bahwa Anda benar-benar menggunakan 234,394,479 sebagai nilai satu kolom (Anda setidaknya harus menggunakan ,234,394,479, untuk dapat melakukan WHERE invited LIKE '%,234,%' dalam kueri Anda) Anda harus membangun kembali tabel pengguna Anda, hapus bidang invited_users dan buat tabel seperti ini:

CREATE TABLE invited_users (
  id INT AUTO_INCREMENT,
  owner_id INT, -- Who's input it is
  target_id INT, -- What's the target user
  PRIMARY KEY ( id),
  UNIQUE ( owner_id, target_id),
  -- Indexes (FOREIGN KEYs!) to users table
);

Dan daripada hanya memilih daftar pengguna yang mengundang pengguna 234 dengan kueri:

SELECT users.id, users.name
FROM invited_users
INNER JOIN users ON invited_users.owner_id = users.id
GROUP BY users.id
WHERE invited_users.target_id = 234


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana menghubungkan ke MySQL menggunakan Python

  2. Bisakah kita memiliki nama tabel sebagai opsi di MySQL?

  3. mencegah entri duplikat ke database

  4. Query MySql Tingkat Lanjut:Perbarui tabel dengan info dari tabel lain

  5. MySQL berkata:Dokumentasi #1045 - Akses ditolak untuk pengguna 'root'@'localhost' (menggunakan kata sandi:TIDAK)