我有一个表称为用户 此表是什么样子问题与MySQL查询
CREATE TABLE `users` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(32) NOT NULL,
`password` varchar(60) NOT NULL,
`email` varchar(60) NOT NULL,
PRIMARY KEY (`id`)
)
最后我有一个表叫朋友, 此表是什么样子
CREATE TABLE `friends` (
`friendship_id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`user_id1` bigint(20) unsigned NOT NULL,
`user_id2` bigint(20) unsigned NOT NULL,
`time_created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`friendship_id`),
KEY `user_id1` (`user_id1`),
KEY `user_id2` (`user_id2`),
CONSTRAINT `friends_ibfk_1` FOREIGN KEY (`user_id1`) REFERENCES `users` (`id`),
CONSTRAINT `friends_ibfk_2` FOREIGN KEY (`user_id2`) REFERENCES `users` (`id`)
)
所以基本上如果userA跟随userB,那么一行将被添加到friends表中,属性user_id1是userA,user_id2是userB。
即时通讯试图编写一个搜索框的MySQL查询。用户将输入一个字符串,查询将抓取包含该字符串的用户列表,但用户所关注的人员需要首先显示。
所以如果我们有3个用户
- 插孔
- 杰森
- 约翰
如果用户Chris(谁在关注杰森)在搜索框输入字符串 'JA',该查询将按照jason,jack的顺序抓取用户列表。因为杰森跟随克里斯。
从我的理解,我想可能一组由问题,我尝试了不同的查询,但我不能得到所需要的结果
做你们有什么想法?
非常感谢
我真的不得到你的问题,你想改变结果的顺序,或者你需要给已有的友谊作为第一行?显示你运行什么查询来获取用户。 – Tim
我只是想抓取用户从数据库,但我想要的朋友先显示,然后非朋友 –