【发布时间】:2021-01-31 09:54:14
【问题描述】:
我有一张表,其中存储本地商店的销售额,按销售类型和年份划分,并按客户名称分组(只有少数客户)。用户通过 JavaScript 传递这些参数,我应该返回所选年份按销售类型分组的所有销售额。
当前的 SQL 语句返回属于第一种销售类型(即“一般”销售)的不同客户在这些年份分组的所有销售,但我还想检索所选销售的百分比属于每个用户的数量。
桌子:
CREATE TABLE `sales` (
`id_sale` INT(11) NOT NULL,
`name_of_client` VARCHAR(50) NOT NULL COLLATE 'latin1_swedish_ci',
`type_of_sale` TINYINT(1) NOT NULL,
`year` YEAR NOT NULL,
`amount` DOUBLE(22,0) NOT NULL,
PRIMARY KEY (`id_sale`) USING BTREE
)
SQL 语句:
SELECT name_of_client, SUM(amount)
FROM sales
WHERE type_of_sale = 1 AND year = 2020
GROUP BY name_of_client
ORDER BY SUM(amount) DESC
我在 SO 线程中尝试了其他建议的解决方案,但它们计算表中所有销售额的百分比,我需要每个客户在当前年份和当前销售类型的 SUM(amount) 百分比.
【问题讨论】:
标签: mysql sql percentage