高级订单

时间:2013-01-23 12:35:22

标签: php mysql sql select

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

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

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

样本结果: -

enter image description here

1 个答案:

答案 0 :(得分: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`