2016-05-24 16 views
-1

商品名、ユーザー、製品の価格が記載されたエントリのテーブルがあるとします。SQLクエリで2回並べ替える

私の問題は、単一のユーザーをまとめて購入した製品をグループ化し、それらの製品を辞書順に並べ替える結果セットを取得することです。

Aで始まる名前のユーザーを購入したようなものは、それぞれの商品もアルファベット順に表示されます(Cat食料の前のキャンディーなど)。後で名前がPで始まります。

誰かがこれをやりはじめようとしているかも説明できますか?

+1

"userNameにすることにより順、商品名" ユーザー、PRODUCT_NAME BY – GendoIkari

+0

'ORDER

あなたはSQLでできること、しかし、のようなデータを、抑制され'から始める。あなたが求めているのはそれですか? – Serg

答えて

2

SQLクエリは、行と列のテーブルを返します。 1つの列をクライアント用に、もう1つの列を製品用に、クライアント別と製品別に並べ替えることができます(ORDER BY client, product)。データの「ブロック」が異なるわけではありません。

もっと美しくしたい場合は、クエリに基づいてレポート(レイアウト付きのデータ)を作成するソフトウェアが必要です。

select 
    case when client = lag(client) over (order by client, product) then null else client end 
    as client, 
    product 
from bought 
order by client, product; 

サンプル結果:

 
client | product 
--------+-------- 
Max  | cup 
     | saucer 
     | plate 
Elsa | mug 
     | plate 
関連する問題