鉴于此表结构:
CREATE TABLE IF NOT EXISTS splits (
id INT AUTO_INCREMENT,
sector_id INT,
type VARCHAR(100),
percentage INT,
PRIMARY KEY (id),
INDEX (type)
) ENGINE MyISAM;
而这个数据集:
INSERT INTO splits (sector_id, type, percentage) VALUES
(1, 'Manager', '50'),
(1, 'Sales Rep', '50'),
(2, 'Manager', '75'),
(2, 'Sales Rep', '25'),
(3, 'Manager', '75'),
(3, 'Sales Rep', '25'),
(4, 'Manager', '100'),
(5, 'Manager', '100'),
(6, 'Manager', '100');
我如何返回以相同方式拆分的扇区数量:
像这样:
Split | Number
---------------+-------
50% M / 50% SR | 1
75% M / 25% SR | 2
100% M | 3
所以这表明 1 个扇区 (id 1) 的拆分比为 50/50,2 个扇区的拆分比为 75/25 (ids 2, 3),3 个扇区的拆分比为 100/0 (ids 4, 5 , 6)。
这是一个带有数据库设置的 SQL Fiddle:http ://sqlfiddle.com/#!2/6b19f/1
你试过什么?
我什至想不出从哪里开始解决这个问题,所以我很抱歉无法展示一个尝试过的解决方案。如果我得到任何地方,我会更新这个问题。
我想在数据库(而不是应用程序)中完成所有这些操作的原因是因为我们的自动报告工具可以指向表/视图/查询并自动应用过滤、排序、图表等。在应用程序失去所有默认功能。