sql >> Database teknologi >  >> RDS >> Mysql

opsætning af en venneliste i mysql

Hvis dit venskabsforhold er symmetrisk, kan du enten gemme hvert par i en separat post:

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

og forespørg alle B s venner kan lide det:

SELECT  friend2
FROM    friends
WHERE   friend1 = 'B'

eller gem brugeren med det mindste id i det første felt og det med det største id i den anden:

friend1  friend2
A        B
A        C
B        D

og forespørg B s venner kan lide det:

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

Den første mulighed er en lille smule mere effektiv i MySQL , og dette er den eneste mulighed, hvis dit venskabsforhold ikke er symmetrisk (som på LiveJournal )

Se denne artikel:



  1. Eksport af en MySQL-tabel til en CSV-fil

  2. MySQL-forbindelsesfejl Serverens tidszoneværdi Centraleuropæisk tid

  3. SQLite aggregerede funktioner

  4. Bibliotek ikke indlæst:/usr/local/opt/readline/lib/libreadline.6.2.dylib