从表ORDER BY另一个表列中选择all,匹配主键

时间:2017-08-02 11:44:15

标签: php mysql sql

我一直在寻找一段时间,但我想要完成的查询似乎很难找到有关如何做我想做的事情的任何信息或文档。

我有两个表,其中一个表存储我的用户帐户和基本信息。然后我有一个第二个表,其中包含有关用户的更多信息。

这两个表都有主键(表1是id,表2是user_id),我用它来知道谁是谁,并匹配两个表之间的记录。

我今天要做的是,我想从表1中获取10条记录,按表二(room_count)DESC中的列排序。

表#1的名称是"用户"和表#2的名称是" user_information"。

我尝试了什么?
我不确定从哪里开始,所以我还没有尝试过任何事情。

我怎么做这样的事情?
感谢您发布的任何答案。

例如,假设我有4个用户,我会在下面的另一个表中写下用户名,后跟room_count列。

Adam Sandler : 4
Jenny Hang : 9
Peter Foreign : 0

如果我要将查询与ASC一起使用,则会以Peter Foreign开头,以Jenny Hang结尾

3 个答案:

答案 0 :(得分:2)

你不需要简单的加入吗?

AcceptButton

答案 1 :(得分:0)

请试试这个:

SELECT * 
  FROM users u 
 INNER JOIN user_info ui
    ON u.id = ui.user_id 
 ORDER BY ui.room_count DESC
 LIMIT 10

答案 2 :(得分:0)

尝试像

这样的基本内容
select users.*
from
  users, user_information
where
  users.id =user_information.user_id
order by
  user_information.room_count
  desc
Limit 10

修改:将select users.id更改为select users.*以更好地符合所提问题。