gpt4 book ai didi

php - Mysql查询在最近的行上连接表

转载 作者:可可西里 更新时间:2023-11-01 07:43:55 27 4
gpt4 key购买 nike

我有一个类别页面,在我加入之前它们工作正常。

类别显示如下:

category 1-----------------------0----------0
discussion 1 by someone

category 2-----------------------0----------0
discussion 2 by someoneelse

现在显示讨论的地方,我需要根据它的 discussion_id 显示发布到该类别的最后一个讨论。我试过 ORDER BY ... DESC 但它按类别名称而不是讨论名称和发布者排序。

 $sql = "SELECT *, COUNT(d.cat_id) as count 
FROM discussions as d
LEFT JOIN categories c ON (c.cat_id = d.cat_id)
RIGHT JOIN soldiers s ON (s.uid = d.discussion_poster)
GROUP BY d.cat_id";
$result = query($sql);


while (($row = mysqli_fetch_assoc($result)) != false) {
$cat_id = $row['cat_id'];
$discussion_id = $row['discussion_id'];
$cat_title = $row['cat_title'];
$discussion_title = $row['discussion_title'];
$discussion_time = $row['discussion_time'];
$count = $row['count'];
$discussion_poster_id = $row['discussion_poster'];
$discussion_poster = $row['soldier'];
}

最佳答案

$sql = "
SELECT *
FROM categories c
INNER JOIN
(
SELECT MAX(discussion_id) discussion_id,
COUNT(discussion_id) as count,
cat_id
FROM
discussions
GROUP BY
cat_id
) as d1
ON (c.cat_id = d1.cat_id)
INNER JOIN discussions as d
ON (d1.discussion_id = d.discussion_id)
INNER JOIN soldiers s
ON (s.uid = d.discussion_poster)
GROUP BY d.cat_id";

关于php - Mysql查询在最近的行上连接表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36783095/

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