Php 复杂的mysql搜索查询,条件很少
我不知道这是否可行,但我有搜索用户的功能,我希望在每一封输入的信之后都能显示搜索结果,所以我正在努力使搜索工作尽可能快,但我的雄心壮志对我的知识来说太高了 我有Php 复杂的mysql搜索查询,条件很少,php,mysql,Php,Mysql,我不知道这是否可行,但我有搜索用户的功能,我希望在每一封输入的信之后都能显示搜索结果,所以我正在努力使搜索工作尽可能快,但我的雄心壮志对我的知识来说太高了 我有users数据库,关系(id,user\u id,follower\u id,status)我使用左连接两次,首先作为follower,然后作为follower 所以我想做的是,我想把结果按顺序排列,比如首先我想让用户跟踪并被跟踪的人,而不仅仅是用户跟踪的人,跟踪用户的人,最后还有其他人。我想将所有搜索限制为最多10行。如果只有在mysq
users数据库
,关系(id,user\u id,follower\u id,status)
我使用左连接两次,首先作为follower,然后作为follower
所以我想做的是,我想把结果按顺序排列,比如首先我想让用户跟踪并被跟踪的人,而不仅仅是用户跟踪的人,跟踪用户的人,最后还有其他人。我想将所有搜索限制为最多10行。如果只有在mysql中才能做到这一点?我已经用php实现了这一点,但这涉及到对数据库的许多查询
我也很感兴趣,如果有任何方法来设置,知道如果从什么contidion行是
更新
我需要获得的内容以及顺序:
以下情况下的用户:
通过搜索查询&用户跟踪和他们跟踪返回
通过搜索查询和用户跟踪
按搜索查询和跟踪用户的人
按搜索查询
订单:
用户跟在后面,他们跟在后面
用户跟踪
跟踪用户的人
其他的
上限:0,10
我相信我无法简单地以这种特定的方式对结果排序,所以我考虑使用子查询或更复杂的东西,但我的mysql知识太低,我不确定这是否可以在一个查询中实现,或者我只能在每个条件下使用单独的查询。我没有测试它,但我会尝试这样的方式:
select distinct u.* from users u, relations r where u.id = r.user_id or u.id = r.follower_id order by u.id = r.user_id
你的问题令人费解,试着用更好的方式解释你想要的结果是什么……我想要的是来自用户表的行。我已经这样做了,但这样我就不能按我想要的方式排序行。我需要首先找到用户跟踪的人,然后他们再跟踪,就像如果没有足够的行,找到用户跟踪的人,如果没有足够的人跟踪用户,最后如果仍然没有达到限制,从该表中找到适合搜索查询的任何人一样。