すでにタイトルに書かれているように、私はまず、昨年のすべての売上を合計と今年を入力し、今年の去年を各クライアントの(last year - this year)
から引きます。
今年から昨年の売上を差し引いてmysqlを使った各クライアントの売上(より多くのエントリーを1年合計)
編集:
clientid | ....date..... | quant | product. | client | place | price |
......1... |2016-01-10 | ...1.... | product1 | anna | Italy... | .100. |
......1... |2016-04-12 | ...2.... | product2 | anna | Italy... | .300. |
......1... |2017-01-10 | ...1.... | product1 | anna | Italy... | .200. |
......1... |2017-04-12 | ...2.... | product1 | anna | Italy... | .400. |
だから、最後の年にアンナの結果は400である必要があり、今年600 diffが、私はすでに試した200
する必要がありますクエリはいくつかありますが、私にとっては複雑すぎます。
SELECT
`date`, `quant`, `clientid`, `product`, `client`, `place`, lastyear.price, thisyear.price , (lastyear.price - thisyear.price) AS diff
FROM
(SELECT
`date`, `quant`, `product`, `client`, `place`, SUM(price)
FROM
`verkauf`
WHERE
`date` BETWEEN DATE_FORMAT(CURDATE() , '%Y-%m-01') - INTERVAL 24 MONTH AND DATE_FORMAT(CURDATE() , '%Y-%m-31') - INTERVAL 12 MONTH)
)as lastyear,
(SELECT
`date`, `quant`, `product`, `client`, `place`, SUM(price)
FROM
`verkauf`
WHERE
`date` BETWEEN DATE_FORMAT(CURDATE() , '%Y-%m-01') - INTERVAL 12 MONTH AND DATE_FORMAT(CURDATE() , '%Y-%m-31')
)as thisyear
WHERE
`clientid` = :id
ORDER BY
diff ASC
LIMIT
:start, :limit
共有表 – denny