我正在导出一些记录以放入 Excel 并发送给客户,问题是让记录以正确的顺序从数据库中出来。
基本上我有一个带有股票代码(abc13424)的产品表,然后是产品名称(洗手-香水,身体黄油-香水等)。
我混合了来自不同年份的股票代码,所以 abc11234、abc12834、abc13424 等。我需要实现的是基本上显示按产品名称购买的“手洗”分组的记录,然后最终在内部和外部拥有这些组按股票代码排序。
样本结果:-
您搜索的内容似乎是这样的:
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`