2013-01-23 56 views
-2

我正在出口一些記錄放入一個Excel併發送給客戶,問題是獲取記錄以正確的順序出來的數據庫。先進的訂單由

基本上,我有一個產品表與股票代碼(abc13424),然後產品名稱(手洗 - 香味,身體黃油 - 香味等)。

我有來自不同年份的股票代碼混合,所以abc11234,abc12834,abc13424等。我需要實現的是基本上顯示從產品名稱購買,然後最終擁有那些通過說'手洗'分組的記錄根據庫存碼進行內部和外部分組。

樣品結果: -

enter image description here

+1

表明美國樣本與期望的結果記錄。 –

+0

@ user1372212您想要訂購產品的年份庫存?你是否也可以顯示樣本表以獲得上述結果? – bonCodigo

+0

更新了示例和不,而不是年份。但需要根據名稱將其分組到產品類型中,然後按代碼分組,但也要對組進行排序。 – user1372212

回答

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` 
+0

這聽起來是正確的(像上面的答案) –

+0

有些問題聽起來像它需要更多..但它實際上是一個簡單的asnwer需要.. :) – bonCodigo

+0

這是不正確的,如上面的數據所示,名稱字段將永遠不會同樣的條目。本質上它是名稱評論的前幾個單詞只需訂購 – user1372212