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

dapatkan pengikut twitter seperti menggunakan MySQL

Ini harus melakukannya:

SELECT COUNT(me.A) FROM social AS me 
   INNER JOIN social AS you ON me.B = you.A 
WHERE me.A = you.B AND me.A = 1

Hapus COUNT jika Anda ingin daftar teman.

EDIT

Seperti yang diminta, penjelasan.

Anda JOIN memasukkan tabel ke dirinya sendiri karena Anda tertarik dengan hubungan antar baris.

Saya memutuskan untuk memberi nama tabel sebagai me dan you untuk memperjelas hubungan. Yang dimaksud adalah kolom A dapat merujuk saya sebagai pengikut atau Anda sebagai pengikut. Kolom B mengacu pada pengikut

Jika Anda mengganti nama kolom, kueri akan terbaca lebih jelas

jika A -> follower dan B -> follower , kita akan memiliki:

SELECT COUNT(me.follower) FROM social AS me 
   INNER JOIN social AS you ON me.followee = you.follower
WHERE me.follower = you.followee AND me.follower = 1

Jadi dikatakan, ambil dua salinan tabel ini dan JOIN baris di mana pengikut di me adalah pengikut di you . Kemudian, filter dan tampilkan hanya baris tempat pengikut di me adalah pengikut di you ... di sana dengan menangkap keinginan Anda untuk memiliki (A == B) && (B == A)

Mungkin alias tabelnya tidak terlalu bagus, tapi saya harap itu bisa menjelaskan sedikit.

EDIT KEDUA Per komentar di bawah, formulir yang lebih jelas mungkin:

SELECT COUNT(me.A) FROM social AS me 
   INNER JOIN social AS you ON me.A = you.B AND me.B = you.A
WHERE me.A = 1



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Plugin Validator jQuery - periksa Nama Pengguna/Email yang ada di database mysql

  2. Apa Itu MySQL:Gambaran Umum

  3. Mysql - Mencegah entri duplikat dari kolom gabungan dengan Indeks Unik

  4. Cara Mempertahankan Garis Miring Balik saat Melepas Kutipan di MySQL – QUOTE()

  5. MySQL ON UPDATE CURRENT_TIMESTAMP tidak memperbarui