-3

Excel に入力して顧客に送信するレコードのエクスポートに取り組んでいます。問題は、レコードをデータベースから正しい順序で取得することです。

基本的に、ストックコード(abc13424)と製品名(ハンドウォッシュ - フレグランス、ボディバター - フレグランスなど)の製品テーブルがあります。

さまざまな年のストックコードが混在しているため、abc11234、abc12834、abc13424 などを達成する必要があります。基本的に、製品名から「手洗い」と言ってグループ化されたレコードを表示し、最終的にそれらのグループを内部および外部に配置する必要があります。証券コード順に並べています。

サンプル結果:-

ここに画像の説明を入力

4

1 に答える 1

2

次のようなものを検索するようです:

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

ORDER BY句には任意の数の列をリストできます。並べ替えは、最初に言及した列を使用して、結果のデータを並べ替えます。複数の行の最初の列に同じエントリがある場合、指定された 2 番目の列で並べ替えられます。それらが再び等しい場合、3 番目の列が使用されます。

編集

あなたのコメントによると、適切な順序付けを行うために、1 つの列を分割する必要があるようです。

-文字が区切り文字であると仮定すると、次のように列SUBSTRING_INDEXを分割するために使用できます。name

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