SQL 根据fid表中的nid以nid为主键跑comment表中对应的所有评论量及评论状态=0的概率,且评论数据按发布时间排序取前50条时的评论状态为0的率
时间: 2024-11-03 22:21:45 浏览: 9
要计算 SQL 中 `comment` 表中 `nid` 作为主键,`comment_status` 等于 0 的概率,并按照发布日期排序取前 50 条数据中评论状态为 0 的比例,可以使用以下查询语句:
```sql
WITH top_50_comments AS (
SELECT *
FROM comment
WHERE comment_status = 0
ORDER BY publish_date ASC
LIMIT 50
)
SELECT
COUNT(*) AS total_comments,
SUM(CASE WHEN comment_status = 0 THEN 1 ELSE 0 END) AS comments_status_0,
(SUM(CASE WHEN comment_status = 0 THEN 1 ELSE 0 END) / COUNT(*)) * 100 AS probability_status_0
FROM
top_50_comments;
```
这个查询做了以下几个步骤:
1. 使用 Common Table Expression (CTE) `top_50_comments` 选取 `comment_status` 为 0 并按发布日期升序排列的前 50 条记录。
2. 计算总数(total_comments), 状态为 0 的评论数 (`comments_status_0`)。
3. 求出状态为 0 的评论占比并转换为百分比(`probability_status_0`)。
结果将显示总共有多少条评论,其中状态为 0 的有多少,以及状态为 0 的评论占总评论的比例。
阅读全文