我有一個表稱爲用戶 此表是什麼樣子問題與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
我只是想抓取用戶從數據庫,但我想要的朋友先顯示,然後非朋友 –