gpt4 book ai didi

php - 如何通过分组优先级对MySQL数据进行排序

转载 作者:行者123 更新时间:2023-11-30 00:03:50 25 4
gpt4 key购买 nike

我正在尝试使用 php 在分组优先级的基础上对 mysql 数据进行排序。我有一个名为“用户”的表包含成员(member)个人资料数据,另一个名为“评论”的表包含成员(member)的反馈和评级。我在评论表的 review_count 字段中存储从 0 到 5 的评分。

现在我想根据这些优先级对用户个人资料进行排序:

表“用户”如下所示:

uid name        picture     membership_status  last_login    
-- ---------- ---------- ----------------- ------------------
1 Jhon jhon.jpg 1 2014-07-16 04:40:05
2 Ravi 0 2014-07-09 10:18:38
3 Lucy lucy.jpg 0 2014-07-07 11:46:53
4 Sweta 1 2014-07-07 11:46:53
5 Philip philip.jpg 0 2014-07-09 10:31:53

表评论是这样的:

id     review_by     review_to   review_count
----- ----------- --------- ------------
1 8 1 5
2 12 2 3
3 22 5 4

现在我想按以下优先级对这些数据进行排序:

  1. 上次登录的高级成员(member)
  2. 查看了上次登录的成员
  3. 带有上次登录照片的个人资料的成员
  4. 上次登录的其他成员

这是我正在使用的查询:

$sel_profiles = mysql_query("SELECT a.*, 
b.review_to
FROM users a
LEFT JOIN reviews AS b ON b.review_to = a.uid
ORDER BY a.membership_status DESC,
b.review_count DESC,
a.picture DESC,
a.last_login DESC
LIMIT 0 ,10");

但是我没有得到我想要的正确结果。请任何人都可以建议我如何以分组优先级获得我想要的输出。提前致谢。

最佳答案

$sel_profiles = mysql_query("SELECT a.*, 
b.review_to
FROM users a
LEFT JOIN reviews AS b ON b.review_to = a.uid
ORDER BY a.last_login DESC ,
a.membership_status DESC
LIMIT 0 ,10");

按这两个意志本身进行排序将得到所需的结果。

关于php - 如何通过分组优先级对MySQL数据进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24774557/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com