首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取子查询并计数为colomn

获取子查询并计数为colomn
EN

Stack Overflow用户
提问于 2014-02-14 15:24:02
回答 1查看 28关注 0票数 0

我有一个博客系统和一个简单的版本控制系统。我的数据库是:

代码语言:javascript
复制
|id------|parent_id|title------------------|
|1       |1        |Test title             |
|2       |1        |Test title 2           |
|3       |1        |Last test title        |
|4       |4        |Another blog item      |

我对只获得最新版本(只有3和4)的查询是:

代码语言:javascript
复制
SELECT * FROM 
(SELECT * FROM blogs ORDER BY id DESC) b
GROUP BY b.parent_id

结果:

  • 最后一次考试题目
  • 另一篇博客文章

我的问题是:是否可以计算所有子版本的数量?比如:

  • 最后测试题目(3)
  • 另一个博客项目(1)
EN

回答 1

Stack Overflow用户

发布于 2014-02-14 15:34:32

您的查询不能保证工作正常。您可以通过扩展MySQL 这里阅读有关这里组的内容。基本上,*生成的字段不一定来自“第一”记录。我想强调的是,这是记录在案的不起作用的,尽管它可能在实践中奏效。

编写查询的另一种方法是:

代码语言:javascript
复制
select b.*, p.numchildren
from (select parent_id, max(id) as maxid, count(*) as numchildren
      from blogs
      group by parent_id
     ) p join
     blogs b
     on b.id = p.maxid
order by b.parent_id
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21783151

复制
相关文章

相似问题

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