在MySQL中,如何使用复合组生成DATE的百分比?

时间:2013-04-17 22:39:12

标签: mysql

我有一组三个查询返回我喜欢的确切数据:

set @myDate = '2013-04-15'; 
set @dailyCPU = (select sum(cputime) from eojeot where date(stoptime) = @myDate); 
select usercode, date(stoptime) as theDate,
    sum(cputime) as 'Total CPU Secs',
    sum(elapsedtime) as 'Total Elapsed Secs',
    (sum(cputime)/@dailyCPU) * 100 as pctCPU
from eojeot
where date(stoptime) = @myDate
group by usercode;

这会返回此(我对真实用户进行了模糊处理)

usercode    theDate     Total CPU Secs  pctCPU
FRED        2013-04-15  35873067        0.4069
WILMA       2013-04-15  26122714        0.2963
BARNEY      2013-04-15  234689          0.0027
DINO        2013-04-15  3284851116      37.2593
PEBBLES     2013-04-15  48108320        0.5457
BAMBAM      2013-04-15  23671548        0.2685
KAZOO       2013-04-15  284847          0.0032

我想把它放到一个查询中,这样我就可以添加一个myDate组。

基本上,我想为特定用户的一天所有cputime求和,并显示当天总cpu时间的百分比。

表格的片段如下:

usercode varchar(17)
cputime bigint(20)
stoptime datetime

我看过自联接试图只加入sum(cputime),其中a.date = b.date,但是没有用。

我真的认为自我加入会从我在SE上阅读的所有帖子中做到这一点,但我找不到复合组中的因素(用户代码,日期(停止时间))。

0 个答案:

没有答案