sql >> Databáze >  >> RDS >> Mysql

SQL Array Search

Za předpokladu, že skutečně používáte 234,394,479 jako hodnotu jednoho sloupce (měli byste alespoň použít ,234,394,479, abyste mohli dělat WHERE invited LIKE '%,234,%' ve vašem dotazu) měli byste znovu sestavit své uživatelské tabulky, odstranit pole invited_users a vytvořte tabulku takto:

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

A než jen vybrat seznam uživatelů, kteří pozvali uživatele 234 pomocí dotazu:

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. Výpočet procent pomocí dotazu GROUP BY

  2. Převezměte kontrolu nad svými daty pomocí Microsoft Access

  3. Porovnání období

  4. Yii2 Jak provést seskupení podmínek AND nebo OR?