Mysql
 sql >> Baza danych >  >> RDS >> Mysql

tworzenie listy znajomych w mysql

Jeśli twoja przyjaźń jest symetryczna, możesz przechowywać każdą parę w osobnym rekordzie:

friend1 friend2
A       B
B       A
A       C
B       D
C       B
D       B

i zapytaj o wszystkie B znajomi tak:

SELECT  friend2
FROM    friends
WHERE   friend1 = 'B'

lub zapisz użytkownika z najmniejszym id w pierwszym polu i to z największym id w drugim:

friend1  friend2
A        B
A        C
B        D

i zapytaj B znajomi tak:

SELECT  friend1
FROM    friends
WHERE   friend2 = 'B'
UNION ALL
SELECT  friend2
FROM    friends
WHERE   friend1 = 'B'

Pierwsza opcja jest nieco bardziej wydajna w MySQL , i jest to jedyna opcja, jeśli twoja przyjaźń nie jest symetryczna (jak na LiveJournal )

Zobacz ten artykuł:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyjaśnienie Wordnet SQL

  2. Przełączanie awaryjne i powrót po awarii w Amazon RDS

  3. MySQL CREATE FUNCTION Składnia

  4. Podciąg MySQL między dwoma ciągami

  5. MySQL Nie może upuścić indeksu potrzebnego w ograniczeniu klucza obcego