首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >列出mysql中注释最多的新闻

列出mysql中注释最多的新闻
EN

Stack Overflow用户
提问于 2013-04-07 05:38:54
回答 2查看 178关注 0票数 0

我有两个桌面新闻和评论:

新闻:newsId,newsTitle,newsDate,newsReadCount

注释:ID、newsID、注释、日期

我选择了10行,根据两个日期之间的值newsReadCount,这些行具有最大读取量:

代码语言:javascript
复制
SELECT * FROM news WHERE DATE(newsDate) BETWEEN '20120414' AND '20130414' ORDER BY newsReadCount DESC LIMIT 0, 10

在这里,我想选择10个新闻与newsTitle,总评论计数从两个日期之间的新闻表有最大的评论基于关系newsID的评论表。如何在mysql中查询这个问题?我需要加入吗。请帮助我,我是mysql的新手。

注释表的newsID是新闻表的新闻ID主键的值。

编辑:

选择两个日期之间的新闻,其结果如下

结果:

代码语言:javascript
复制
| newsTitle  | Total Comments |     
-------------------------------    
| onenews    |  25            |    
| another    |  30            |
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-07 06:27:35

你需要joingroup byorder bylimit

代码语言:javascript
复制
SELECT
    news.newsTitle, COUNT(comments.ID) AS `Total Comments`
FROM news INNER JOIN comments ON
    news.newsId = comments.newsID AND news.newsDate BETWEEN '20120414' AND '20130414'
GROUP BY news.newsId
ORDER BY `Total Comments` DESC
LIMIT 10;

请见sql小提琴

票数 1
EN

Stack Overflow用户

发布于 2013-04-07 06:31:22

我想你可以用

代码语言:javascript
复制
SELECT n.newsTitle, count(c.ID) as totalCount
FROM   News n LEFT JOIN Comments c ON n.newsId = c.newsID
WHERE  DATE(n.newsDate) BETWEEN '20120414' AND '20130414'
GROUP BY n.newsTitle
ORDER BY totalCount DESC
LIMIT   10
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15859278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档