求一个mysql表的 最大值组的记录和总和 的sql 语句问题

dubiousway 2010-02-18 09:54:39
如下有个简单的 表drink,表示记录某人某天喝水的记录。
同一天可能喝好多次,每次喝的量和日期作为一条记录保存。
现在有如下三天的记录:

+------------+------+
|date|ml|
+------------+------+
|2010-01-06|55|
|2010-01-06|85|
|2010-01-06|50|
|2010-01-06|50|
|2010-01-07|40|
|2010-01-07|50|
|2010-01-07|25|
|2010-01-07|95|
|2010-01-07|40|
|2010-01-07|40|
|2010-01-08|75|
|2010-01-08|100|
+------------+------+

求sql语句,得到如下结果
Total:该表记录的喝的水总量(3天总量)
maxDay:表示哪天喝水最多
dayTotal:表示相应于maxDay的那天喝了多少水
+-------+------------+----------+
|Total|maxDay|dayTotal|
+-------+------------+----------+
|705|2010-01-07|290|
+-------+------------+----------+

要求用一条sql语句完成。怎么写比较简单呢?
不是分步完成,不用临时建立视图什么的,要求一条语句完成。似乎很麻烦的样子。。。。
...全文
64 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
ACMAIN_CHM 2010-02-19
  • 打赏
  • 举报
回复
select (select sum(ml) from drink) as Total,*
from (
select `date` as maxDay,sum(ml) as dayTotal
from drink
group by `date`
)
order by dayTotal desc
limit 1;
阿_布 2010-02-19
  • 打赏
  • 举报
回复

select sum(t1.ml) sml,t2.date,t2.ml
from drink t1,
(select date,sum(ml) ml from drink group by date) t2
order by t2.ml desc
limit 1;

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧