0

我有一张包含 Products 和 Sales 的表格,我想向他们展示将具有相似名称的产品放在一起并按 Sales 排序。这是初始表:

Product             Sales
Shirt (blue)         10
Trainers (orange)     1
Shirt (green)         2
Hooding (yellow)      7

将它们放在一起将使用一种模式,该模式采用括号外的内容。结果将是这样的:

Product             Sales
Shirt (blue)         10
Shirt (green)         2
Hooding               7
Trainers (orange)     1
4

1 回答 1

0

您可以使用派生表执行此操作:

SELECT a.*
FROM table1 a
JOIN (SELECT MID(Product, 1, LOCATE('(', Product)-1) substrProduct,
             SUM(Sales) salesSum
      FROM table1
      GROUP BY substrProduct) b
  ON MID(a.Product, 1, LOCATE('(', a.Product)-1) = b.substrProduct
ORDER BY b.salesSum desc, a.sales desc

测试

我会让你弄清楚那里发生了什么。有关和的详细信息,请参见此处MIDLOCATE

于 2013-05-28T14:33:23.917 回答