下記の「テーブル1」から、
テーブル1
商品名|価格
------------
AAAAAA|1000
AAAAAA|1200
AAAAAA|1500
BBBBBB|2100
BBBBBB|2600
CCCCCC|2000
DDDDDD|3000
EEEEEE|6000
EEEEEE|6000
EEEEEE|7000
EEEEEE|7500
下記のように出力するにはどのようにSQLを書いたらいいでしょうか。
商品名|価格|通番
------------------
AAAAAA|1000|1
AAAAAA|1200|2
AAAAAA|1500|3
BBBBBB|2100|1
BBBBBB|2600|2
CCCCCC|2000|1
DDDDDD|3000|1
EEEEEE|6000|1
EEEEEE|6000|2
EEEEEE|7000|3
EEEEEE|7500|4
要するに、「商品名」ごとに、「価格」で昇順にソートして「通番」をつけたいのです。
なお、上記「EEEEEE」には価格が6000のレコードが2つありますが、「通番」はそれぞれ1と2をふっています。
このように、価格が同じレコードがある場合にもカウントアップさせて通番を付与したいです。
ご回答よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
せめてテーブル1にユニークなIDがあれば別ですが
今のままでは
EEEEEE|6000
EEEEEE|6000
が同じデータなので、冗長な処理でしかできませんね。
ORDER BYでソートしたものに順位を振るのはナンセンスだと思います。
論点は2点。
1、同じデータは同じ順位でよいならIDはいらない
SELECT
(
SELECT COUNT(*)+1
FROM テーブル1 AS T2
WHERE T2.価格 < T1.価格
AND T2.商品名 = T1.商品名
) AS 通番
,`T1`.*
FROM テーブル1 AS T1
2、ユニークなidを振ってある場合は通し番号も可能
SELECT
(
SELECT COUNT(*)+1
FROM テーブル1 AS T2
WHERE (T2.価格 < T1.価格
OR T2.価格 = T1.価格 AND T2.ID < T1.ID)
AND T2.商品名 = T1.商品名
) AS 通番
,`T1`.*
FROM テーブル1 AS T1
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) EXCEL関数LOOKUPとFILTERについての質問です 1 2022/12/21 05:53
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
- 経営情報システム accessでの請求管理について 12 2022/06/11 16:20
- Visual Basic(VBA) VBAで質問があります 1 2022/10/19 10:32
- 国産バイク 大型バイク カワサキz900rsに付ける ヨシムラのマフラーの質問です、 【 商 品 I D 】14 2 2023/06/27 13:43
- Visual Basic(VBA) VBAコードで質問があります 2 2022/10/20 15:27
- 企画・マーケティング 価格設定のマーケティングについて 1 2023/06/08 12:42
- HTML・CSS HTMLタグのあるCSVファイルを利用する方法 4 2023/03/19 14:41
- Visual Basic(VBA) 【ExcelVBA】Powerクエリーでいうピボット解除と同じ処理をVBAで 4 2022/07/06 17:09
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
お金持ちのテーブル
-
会社の飲み会の幹事になり、座...
-
「テーブルに座って……」という...
-
外部キーだけのテーブル(主キ...
-
テーブルリンク リンク元を知...
-
複数テーブルにわたるCOUNT
-
L2SWはARPテーブルを持っている?
-
MySQLで複数テーブルを作成する
-
テーブル所有者、スキーマ所有...
-
SQL 外部結合
-
包丁が危険
-
アクセスのリンクテーブル一覧...
-
MACアドレス見えない
-
論理名とコメント構文(?)について
-
【PHP】SQL文のSUM関数で出力し...
-
【SQL】グループ化した際の最頻...
-
テーブルの白く剥がれてるところに
-
ダイニングテーブルの真上に来...
-
まるいテーブル 円い 丸い 漢字...
-
リレーションシップが出来ません。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
会社の飲み会の幹事になり、座...
-
テーブルリンク リンク元を知...
-
L2SWはARPテーブルを持っている?
-
テーブルの白く剥がれてるところに
-
飲み会で、座敷orテーブルどち...
-
まるいテーブル 円い 丸い 漢字...
-
1つのテーブルに同じデータを参...
-
このテーブルで
-
置き配された食べ物を袋からど...
-
外部キーだけのテーブル(主キ...
-
【PHP】SQL文のSUM関数で出力し...
-
「テーブルに座って……」という...
-
男性と2人で飲食店に行きテーブ...
-
アクセスのリンクテーブル一覧...
-
一致するデータのみ削除したい
-
論理名とコメント構文(?)について
-
ACCESSで3ファイルを結合して、...
-
MySQLで複数テーブルを作成する
-
複数テーブルにわたるCOUNT
-
SQL 外部結合
おすすめ情報