我实际上正在处理 Top10 邀请列表,显示邀请了大多数其他用户的用户。
那是数据库表:
user_id | name | invited_by
-----------------------------------
1 | john | 0
2 | maria | 1
3 | johanna | 1
4 | natasha | 1
5 | julia | 4
6 | antonio | 4
7 | matthias | 5
8 | daniel | 5
9 | michelle | 5
10 | anna | 5
被邀请人列中的数字(默认=0)等于邀请此人的 user_id
所以我的前 10 页将显示:
顶级邀请者:
- 朱莉娅(4 次邀请)
- 约翰(3 次邀请)
- 娜塔莎(2 个邀请)
等等...
我现在的问题是,我是否可以仅使用一个 mysql 查询来实现这一点,包括总邀请计数器,最终使用子查询,如果是,那么这个查询必须如何?
$sql = "SELECT * FROM table_users ...... LIMIT 10"
并且出于性能原因,以这种表格样式和数百万用户,是否有机会整理出尚未邀请某人的人,也许in_array
之前有检查?
此致。