-3

我正在导出一些记录以放入 Excel 并发送给客户,问题是让记录以正确的顺序从数据库中出来。

基本上我有一个带有股票代码(abc13424)的产品表,然后是产品名称(洗手-香水,身体黄油-香水等)。

我混合了来自不同年份的股票代码,所以 abc11234、abc12834、abc13424 等。我需要实现的是基本上显示按产品名称购买的“手洗”分组的记录,然后最终在内部和外部拥有这些组按股票代码排序。

样本结果:-

在此处输入图像描述

4

1 回答 1

2

您搜索的内容似乎是这样的:

SELECT * 
FROM `productTable`
ORDER BY `name`, `code`

ORDER BY您可以在子句中列出任意数量的列。然后排序将使用您提到的第一列对结果数据进行排序。如果您在多行的第一列中有相同的条目,它们将按给定的第二列排序。如果它们再次相等,则将使用第三列,依此类推。

编辑

因此,根据您的评论,我们似乎需要拆分一列,以便进行适当的排序。

假设该-字符是分隔符,我们可以使用如下SUBSTRING_INDEX方式拆分name列:

SELECT *,
       SUBSTRING_INDEX( `name`, '-', 1) AS `category`
FROM `productTable`
ORDER BY `category`, `code`
于 2013-01-23T12:48:13.420 回答