sql - How to calculate the percentage in Mysql? -
i have table laborder column account, orderno, createddate, table 1 account contains multiple orderno. requirement want fetch records particular account based on createddate of comparing current week 1 previous week.
let's suppose account created 100 orders in previous week , created orders in current week 50 want notify particular account current week order less or equal previous week orders. our business requirement send email particular account current week order count less 50% previous week orders. have notify account.
calculate difference current week orders count or previous week orders ?
how achieve requirement 1 better fetch records.
- using simple query
- create view
- create stored procedure
i have following table data :
table name : laborder
account orderno createddate -------------------------------------- 101 13 2016-08-2 102 56 2016-08-9 103 79 2016-08-24
i want data below. stored procedure compare orders current week , previous week , if 50 % less gives account has 50 % less volumes.
account currentweekorder previousweekorder difference(%) --------------------------------------------------------------- 101 50 10 -40 102 60 180 120 -> has notified 103 30 25 5 -> no need notified
how create stored procedure above details? please me i'm java developer , didn't create stored procedure in mysql before. first attempt.
i'm trying create stored procedure i'm facing lot of issues how store if query returns multiple records.:
if give me idea how create stored procedure if suggestion.
thanks
i think stored procedure not choice case because every time user insert record, database has update previous records of same week. suggest use view achieve target. here solution you:
create view following sql
select account, count(*) weekorder, week(createdate) createweek laborder week(createdate) >= week(now()) - 1 ----last week , current week group account, week(createdate)
suppose view's name view1, can query need:
select a.account, a.weekorder currentweekorder, b.weekorder previousweekorder, a.weekorder / b.weekorder * 100 difference view1 left join view1 b on a.account = b.account , a.createweek = b.createweek - 1 a.createweek = week(now()) , a.weekorder / b.weekorder * 100 < 50
hope method above can you.
Comments
Post a Comment