我正在为一个班级设计一个简单的微博网站,需要一些关于滚动分页的 sql 语句的帮助。
我有 2 个表:用户和关注。
在我的“用户”表中,我有 uid、FirstName、LastName、Email 和 Username。
我有另一个“Follows”表,其中包含了 rid、FollowedName 和 FollowName。
例如,如果用户名“Alex”跟随用户名“Bob”,那么将存在一个新行,其中 FollowedName="Bob" 和 FollowName="Alex"。
对于搜索页面,我允许用户根据受欢迎程度(基于关注者的数量)进行排序。所以我需要一个 SQL 语句,它将从“用户”中选择所有行,然后根据每个用户在“关注”表中的条目数对它们进行排序。
最重要的是,我需要该语句来过滤掉那些 uid 在字符串名称 $explodedids 中的用户。
我一切正常,但我不知道该把"WHERE uid NOT IN (".$explodedids.")".
这是我的声明,它正确返回但没有过滤掉 $explodedids:
"SELECT Username, FirstName, LastName, Email, COUNT( Followingname ) AS count
FROM (SELECT u.Username, u.FirstName, u.LastName, u.Email, f.Followingname
FROM User AS u LEFT JOIN Follows AS f ON u.Username = f.Followingname)
AS T GROUP BY Username ORDER BY count DESC LIMIT ".$postnumbers
$postnumbers 只是我滚动分页的限制数。我确信我只是把 WHERE NOT IN 放在了错误的地方,但如果你们能帮助我,那就太棒了。