[英]javascript multiply 2 number show total and gtotal but show only one value?
[英]sql query or javascript code to count number of months in database and multiply that with total value in laravel
我碰到一個小的登錄名,無法破解。 任何幫助,將不勝感激。
我有一個如下數據庫。
username startdate enddate timedifference
user1 12-07-2017 13-07-2017 24
user2 12-06-2017 13-06-2017 24
user1 11-05-2016 12-05-2016 24
user2 13-03-2016 15-03-2016 48
user3 9-02-2015 10-02-2015 24
user1 11-09-2017 12-09-2017 24
user1 10-08-2017 11-08-2017 24
自2017年以來3個月的條目以來用戶1的2017年預期輸出=((24 + 24 + 24)/(3 * 24 * 30))* 100 = 3.33%
現在我想找到
value = (totaltimedifference)/(number of months data in database * 24*30) *100
基本上我想找到百分比。
到目前為止,我的代碼是
$percentageutilizationtesting = graphdata::select(DB::raw("
(SUM(month(start))*(count(month(start)* 24*30)*100) as month, SUM(difference) as data, userid as username, year(start) as year"))
->groupBy(DB::raw("month(start)"))
->groupBy(DB::raw("year(start)"))
->groupBy('userid')
->get()
->toArray();
我嘗試了count(month(start)),但它正在計算該月的條目總數,而我只想乘以該年的月份數。
我無法找到月數,並且我不知道要執行的正確查詢,或者如果在laravel中無法執行,請向我提供JavaScript代碼。
您的幫助將不勝感激。
我不知道Laravel語法,但是MySQL查詢應該是:
SELECT username, YEAR(startdate) AS year, SUM(timedifference)/(COUNT(DISTINCT(MONTH(startdate)))*24*30)*100 AS average
FROM graphdata
GROUP BY username, year
COUNT(DISTINCT(MONTH(startdate)))
為用戶計算一年中不同月份的數量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.