Php 如何获得按评级描述排序的记录

Php 如何获得按评级描述排序的记录,php,mysql,Php,Mysql,我有两张桌子,即招待所和评级。如何通过两个表格中的评分来显示记录顺序。我可以请您对此给出一些想法吗 |------------------------------|------------------------------------| | hotel table is | rating table is | |------------------------------|----------------------------

我有两张桌子,即招待所和评级。如何通过两个表格中的评分来显示记录顺序。我可以请您对此给出一些想法吗

|------------------------------|------------------------------------|
|       hotel table is         |      rating table is               |
|------------------------------|------------------------------------|
|post_id  | user_id  | hostel  |r_id |  user_id | post_id  | rating |
|   1     |     2    |  xyz    |  2  |   2      |   1      |   5    |
|   3     |     4    |  abc    |  4  |   4      |   1      |   3    |
|   5     |     6    |  ijk    |  5  |   6      |   6      |   4    |
|   6     |     7    |  pqr    |  6  |   7      |   6      |   5    |
|   8     |     8    |  mno    |  7  |   8      |   5      |   5    |
---------------------------------------------------------------------
请尝试以下查询:

$query = "SELECT * FROM hotel inner join rating ON hotel.post_id = rating.post_id ORDER BY rating.rating DESC";
大概是这样的:

select *
from hotel h join rating r
using (post_id, user_id)
order by rating desc;

尝试此操作

请添加您的表名和查询,该编辑将您从大量的否决票中解救出来。不管怎样,我认为你只需要按评级说明排序,实际上有一些条件,例如:如果post_id是10,12,那么对于10,有20个用户给予5级评级,5个用户给予3级评级,对于12个用户,有5个用户给予5分,20个用户给予3分。在此情况下,显示顺序应与最高用户给予5分的顺序相同,即20个用户给予5分将是第一位的。实际上存在一些条件,例如:如果post_id为10,12,则对于10个用户,有20个用户给予5分,5个用户给予3分,对于12个用户,有5个用户给予5分,20个用户给予3分。在此情况下,显示顺序应与最高用户给予5分的顺序相同,即20个用户给予5分将是第一位的。实际上存在一些条件,例如:如果post_id为10,12,则对于10个用户,有20个用户给予5分,5个用户给予3分,对于12个用户,有5个用户给予5分,20个用户给予3分。在此情况下,显示顺序应与最高用户给予5分的顺序相同,即20个用户给予5分将首先签出此链接此链接也很有用:
$query = "SELECT * FROM hotel_table 
LEFT JOIN rating_table ON hotel_table.post_id = rating_table.post_id 
ORDER BY rating_table.rating DESC";