gpt4 book ai didi

php - Order by before Group by 子查询

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

我知道有很多关于子查询的问题。我已经阅读了很多,并尝试使用满足我需求的答案,但由于某种原因我无法让它发挥作用。

我的表包含练习结果列表。“bruger_id”是用户 ID“prog_oevelse_id”是练习的 ID“kg_km”是用户举起的公斤数或距离“reps_tid”是用户举起多少公斤的重量或他使用了多少分钟。

这是我的 table :

enter image description here

我需要它来列出他表现最好但每次练习只有一个的用户结果。我试过:

$results = $pdo->query("
SELECT * FROM (
SELECT * FROM myw_resultat

ORDER BY kg_km DESC
) t
WHERE bruger_id = '$user_id'
GROUP BY prog_oevelse_id
");

但是当我回显上面的查询时:

$SL = 0;
foreach($results as $key => $row) {

echo $row['prog_oevelse_id'];
echo " - ";
echo $row['kg_km'];
echo " / ";
echo $row['reps_tid'];
echo "<br>";
}

它给了我这个结果:

enter image description here

我的预期输出是:

enter image description here

有人可以帮我解决这个问题吗?

最佳答案

 $pdo->query("
SELECT R.prog_oevelse_id, R.kg_km, R.reps_tid
FROM myw_resultat R
JOIN ( SELECT prog_oevelse_id, MAX(kg_km) as m_kg_km
FROM myw_resultat
WHERE bruger_id = '$user_id'
GROUP BY prog_oevelse_id ) as M
ON R.prog_oevelse_id = M.prog_oevelse_id
AND R.kg_km = M.m_kg_km
WHERE R.bruger_id = '$user_id'

关于php - Order by before Group by 子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47096412/

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