Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 复杂的mysql搜索查询,条件很少_Php_Mysql - Fatal编程技术网

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
    

    你的问题令人费解,试着用更好的方式解释你想要的结果是什么……我想要的是来自用户表的行。我已经这样做了,但这样我就不能按我想要的方式排序行。我需要首先找到用户跟踪的人,然后他们再跟踪,就像如果没有足够的行,找到用户跟踪的人,如果没有足够的人跟踪用户,最后如果仍然没有达到限制,从该表中找到适合搜索查询的任何人一样。