【发布时间】:2015-09-15 12:19:50
【问题描述】:
我正在使用数据表插件来显示 SQL 查询结果。我正在计算查询中的百分比,但它给了我一个错误的值。有没有办法从数据表中获取结果?
在图像中,我33 是(23+4+2+4) 的总数。我需要在值23 旁边获得百分比(23/33)*100。这可能吗?
SELECT AIP.TERMID,
(select count(RAU.TERMNAME)
FROM REPORT_API_USAGE RAU
WHERE RAU.TERMID = AIP.TERMID AND
RAU.VOCID = 4) as page_views,
(select sum(count(RAU.TERMNAME))
FROM REPORT_API_USAGE RAU
WHERE RAU.VOCID = 4 and
RAU.TERMID in (select AIP.TERMID
from REPORT_API_PAGES AIP
GROUP BY AIP.TERMID)
group by RAU.VOCID) as page_views_sum,
(select sum(count(AIP2.TERMID))
from REPORT_API_PAGES AIP2
join REPORT_API_USAGE RAU
ON (RAU.TERMID = AIP2.TERMID AND
RAU.VOCID = 4)
where aip2.ctype = 'download'
GROUP by AIP2.termid) as download_sum,
(select sum(count(AIP2.TERMID))
from REPORT_API_PAGES AIP2
join REPORT_API_USAGE RAU
ON (RAU.TERMID = AIP2.TERMID AND
RAU.VOCID = 4)
where aip2.ctype = 'event'
GROUP by AIP2.termid) as event_sum,
COUNT(case
when aip.ctype = 'download' then 1
else null
end) as page_download,
COUNT(case
when aip.ctype = 'event' then 1
else null
end) as page_event
from REPORT_API_PAGES AIP
GROUP BY AIP.TERMID
download_sum & event_sum 错了。
这就是我显示结果的方式
<div class="percent-container">
<div class="percent-count"> <div class="percent-count-value"> <?php print $RowT->page_event; ?> </div> <div class="percent-value"><?php print round(($RowT->page_event / $RowT->event_sum) * 100); ?>% </div> </div>
<div class="percent-item"> <div class="percent" style="width: <?php print round(($RowT->page_event / $RowT->event_sum) * 100); ?>%"> </div> </div>
</div>
【问题讨论】:
-
请分享您的 SQL 查询,没有看到您的 SQL 很难提供帮助
-
SELECT (a)/(SUM()*100) WHERE a 是 23,sum() 是所有项目的总和
-
有什么办法2从查询中得到
COUNT(case when aip.ctype = 'download' then 1 else null end) as page_download,和COUNT(case when aip.ctype = 'event' then 1 else null end) as page_event的总和