gpt4 book ai didi

php - 复杂的mysql查询需要结果排序

转载 作者:行者123 更新时间:2023-11-29 02:26:28 25 4
gpt4 key购买 nike

我有 3 个 mysql 表。我想在特定日期(如第 1 天、第 2 天、第 3 天)按 d_money 的降序显示团队排行榜。

user(u_id(p),name)
team(t_id(p),u_id(f),t_name,t_money,days_money) and
history(t_id(f),day,d_money).

首先,我在 $tid_arr 中收集了所有 t_id。然后对于每个 t_id,我编写了查询以获取 t_name 及其天数。(对于特定的一天。这里是第 1 天)。它显示结果。但我希望对结果进行排序(d_money 的降序)。但是我找不到灵魂。

 $query = $con->prepare("SELECT t_id FROM team");   
$query->execute();

$tid_arr = $query->fetchAll();



echo "<table border='1'>";

foreach($tid_arr as $tid)
{
$que = $con->prepare("SELECT d_money, t_name FROM team, history WHERE history.t_id=$tid['t_id'] AND team.t_id=history.t_id` AND history.day='1'");
$que->execute();


while($info = $que->fetch(PDO::FETCH_NUM))
{

echo "<tr>";
echo "<td>".$info[0]."</td>";
echo "<td>".$info[1]."</td>";
echo "</tr>";
}
}
echo "</table>";

最佳答案

如果您想通过 d_money 然后通过 t_id 订购,您可以使用以下查询。第一个查询是不必要的,应该删除。

SELECT d_money, t_name FROM team a 
LEFT JOIN history b ON a.t_id=b.t_id
WHERE history.day='1'
ORDER BY d_money DESC, t_id DESC

附注user 表没有被使用?

关于php - 复杂的mysql查询需要结果排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20878923/

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