mysql with rollup 多组统计 如何去掉子项汇总,保留最后条汇总?

「已注销」 「已注销」 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
如题,现有报表统计需求,需统计每天的工作量,但不想显示子项统计,只想保留最后一条统计数据,该如何写语句?
代码如下:

CREATE TABLE `work_log` (
`id` int(5) unsigned NOT NULL AUTO_INCREMENT,
`name` varchar(10) DEFAULT '',
`work_date` varchar(10) DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1;

insert into work_log(name,work_date) values
('1000','2012-10-11'),('1000','2012-10-12'),('1000','2012-10-13'),('1000','2012-10-14'),('1001','2012-10-11'),('1001','2012-10-12'),('1001','2012-10-13')
,('1001','2012-10-14'),('1001','2012-10-16'),('1002','2012-10-11');

select name,work_date ,count(*) as counts
from work_log 
group by name,work_date
with ROLLUP;


+------+------------+--------+
| name | work_date | counts |
+------+------------+--------+
| 1000 | 2012-10-11 | 1 |
| 1000 | 2012-10-12 | 1 |
| 1000 | 2012-10-13 | 1 |
| 1000 | 2012-10-14 | 1 |
| 1000 | NULL | 4 |
| 1001 | 2012-10-11 | 1 |
| 1001 | 2012-10-12 | 1 |
| 1001 | 2012-10-13 | 1 |
| 1001 | 2012-10-14 | 1 |
| 1001 | 2012-10-16 | 1 |
| 1001 | NULL | 5 |
| 1002 | 2012-10-11 | 1 |
| 1002 | NULL | 1 |
| NULL | NULL | 10 |
+------+------------+--------+
14 rows in set (0.03 sec)

如上,想把

1000 | NULL | 4
1001 | NULL | 5
1002 | NULL | 1

这种统计行去掉不显示,只显示最下面的那条统计,改如何写语句呢?
...全文

相关推荐

评论 7
收藏 已收藏
分享
返回顶部
「已注销」
MySQL 57,062 成员 56,759 内容