php - 合并计数主题,评论和最后评论日期论坛sql
问题描述
我正在开发一个类似论坛的网站,我想将下一个信息放在 div 中
Category: Cars
Topics: 27 Comments:5436
Last Comment: 01.04.2020 //php formated
这里我统计发帖数
SELECT *
FROM posts as p
WHERE p.category= :category
$sql->execute();
这里我统计评论数
SELECT *
FROM comments as c
LEFT JOIN posts as p ON c.id_post = p.id_post
WHERE p.category= :category
$sql->execute();
在这里我找到最后评论日期
SELECT max(c.date) as maxdate
FROM comments as c
LEFT JOIN posts as p ON c.id_post = p.id_post
WHERE p.category= :category
GROUP BY c.id_comment
$sql->execute();
我最大的问题是我应该如何将所有这三个 sql 语句和 3 个 pdo 执行合并到一个 sql 语句中(单个 pdo 执行)?
解决方案
您可以加入和聚合。考虑:
select
p.category,
count(distinct p.id_posts) no_posts,
count(c.id_post) no_comments,
max(c.date) date_last_comment
from posts p
left join comments c on c.id_post = p.id_post
where p.category= :category
group by p.category
推荐阅读
- android - Jetpack Compose 中的模糊
- react-native - 我无法安装胜利本机 npm 我胜利本机
- java - 如何提高过滤速度?
- linux - 将文件从 .cfg 更改为 .txt
- certificate - 在 openshift 中的路由中使用密钥中的证书和密钥
- python - 按时间和其他列进行 groupby 以获得唯一值
- swift - SwiftUI 中的滚动和翻译冲突
- vue.js - 具有 prop 类型 [String,Number] 的 Vue.js 应用程序。然而得到错误:预期的字符串,得到数字。为什么?
- c# - 数学生成器流行测验
- python - 反复尝试安装 geopandas 得到相同的结果