• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

怎么把group by后的结果分着列出来

mysql 搞代码 7年前 (2018-05-31) 292次浏览 已收录 0个评论

如何把group by后的结果分着列出来?
有表,有查询语句如斯者:

SQL code

  CREATE TABLE tbl (     id    INT,     time     DATE );  INSERT INTO tbl(id, time) VALUES(1, '2009-06-07'), (1, '2009-06-07'), (1, '2009-06-07'), (2, '2009-06-07'), (3, '2009-06-07'), (3, '2009-06-07'), (3, '2009-06-07'), (1, '2009-06-08'), (2, '2009-06-08'),  (2, '2009-06-08'), (4, '2009-06-08'), (5, '2009-06-08');  select id, time, count(id) from tbl group by id, time order by time desc; select max(id) from tbl group by time; select count(id) from tbl group by time;   

查询语句中只要有了group by, 其结果都是基于group by后的一个个小区间的统计。
可以统计各个小区间结果集的个数,最大值和最小值等。

但是现在不知道如何把group by后的小区间,分着列出来!

——解决方案——————–
select * from tbl order by time,id
——解决方案——————–
楼主要的就是像excel的分类统计功能。既要有明细,又要有小计
——解决方案——————–
理解基本正确
在执行过程中分如下几步: 
1、 从表中先筛选出id>5的所有记录;
2、将相同的id, time合并成一条记录,在临时表中计算count(id);
3、生成SELECT id, time, count(id)内容
4、 进行排序order by time desc 
5、 列出结果
——解决方案——————–
楼主呢……有点不知你所云……
——解决方案——————–
越说越乱了……
——解决方案——————–

google 中你输入 数据库系统概论 会有一大堆,可以说是数据库经典教材。
——解决方案——————–
楼主是不是就像知道group by的运行机制啊?或者说是如何分组运行的啊?
——解决方案——————–
看晕了


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:怎么把group by后的结果分着列出来
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址