Mysql
 sql >> база данни >  >> RDS >> Mysql

създаване на списък с приятели в mysql

Ако приятелските ви отношения са симетрични, можете да съхранявате всяка двойка в отделен запис:

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

и заявете всички B приятелите на 's харесват това:

SELECT  friend2
FROM    friends
WHERE   friend1 = 'B'

или съхранявайте потребителя с най-малък id в първото поле и това с най-голям id във втория:

friend1  friend2
A        B
A        C
B        D

и заявете B приятелите на 's харесват това:

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

Първата опция е малко по-ефективна в MySQL , и това е единствената опция, ако приятелските ви отношения не са симетрични (като в LiveJournal )

Вижте тази статия:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. въведените данни от формуляр не се записват в mysql db?

  2. Грешка 1038 Изчерпана памет, помислете за увеличаване на размера на буфера за сортиране

  3. Всеки начин за постигане на пълнотекстово търсене в InnoDB

  4. PHP Mysql се свързва между бази данни

  5. MySql - ПРИ ВМЕСВАНЕ НА ДУБЛИРАН КЛЮЧ