並べ替えで悩んでます。ご教授下さい。
下記のようなA、B、Cというフィールドがあり
それぞれデータが入っているとします。
取得する際の並び替えですが、
ABC
---------------------
aaa16
bbb15
ccc14
aaa24
bbb26
ccc25
ORDER BY Aとすると・・・
aaa16
aaa24
bbb15
bbb26
ccc14
ccc25
ORDER BY Bとすると・・・
aaa16
bbb15
ccc14
aaa24
bbb26
ccc25
ORDER BY Cとすると・・・
aaa24
ccc14
bbb15
ccc25
aaa16
bbb26
となります。
私がやりたいのは下記の順で並べ替えしたいのです。
ccc14
ccc25
bbb15
bbb26
aaa16
aaa24
つまりORDER BY B、Cの結果の1つ目のレコードの
AでGROPE BYするような感じです。
方法をご教授頂きたいと思います。
よろしくお願いします。
No.1
- 回答日時:
うーん・・・
> つまりORDER BY B、Cの結果の1つ目のレコードの
> AでGROPE BYするような感じです。
ここの意味がいまいち分からないのですが。
(私の理解力が足りないのか・・・。)
> ccc 1 4
> ccc 2 5
> bbb 1 5
> bbb 2 6
> aaa 1 6
> aaa 2 4
この結果だけ見たら、「order by A desc, B」ですけど、そうじゃないんですよね?
申し訳ありませんが、別の例も出してみていただけませんでしょうか?
この回答への補足
すみません。説明不足です。
でも表現しにくいので、下記の例を挙げます。
2005年3月1日時点での順位が高い人から並べたい。
名前 日付 順位
鈴木 20050301 4
鈴木 20050302 2
佐藤 20050301 3
佐藤 20050302 4
田中 20050301 2
田中 20050302 1
山田 20050301 1
山田 20050302 3
↓
名前 日付 順位
山田 20050301 1
山田 20050302 3
田中 20050301 2
田中 20050302 1
佐藤 20050301 3
佐藤 20050302 4
鈴木 20050301 4
鈴木 20050302 2
ORDER BY それぞれ名前・日付・順位としても上記の結果にはなりませんよね。
(日付+順位)でソートとして名前順に表示みたいな。。。
なんとも説明がヘタで申し訳ございません。。。
No.3ベストアンサー
- 回答日時:
できた・・・かな?
ちょっと不安(^_^;)
SELECT Tbl_A.名前, Tbl_A.日付, Tbl_A.順位, Tbl_C.順位 As 順位1
FROM TEST Tbl_A, (SELECT Tbl_B.* FROM TEST Tbl_B WHERE Tbl_B.日付=(SELECT Min(Tbl_D.日付) FROM TEST Tbl_D)) Tbl_C
WHERE Tbl_A.名前=Tbl_C.名前
ORDER BY Tbl_C.順位, Tbl_A.名前, Tbl_A.日付
No.4
- 回答日時:
select
A,
B,
C
from ocyan.テストm
group by A
order by B,C
;
ソートオーダは複数項目指定できるのでこれで出来ませんか?
No.5
- 回答日時:
オラクルのバージョンによっては、分析関数の利用によって、結合を行わずに問い合わせできます。
環境にもよりますが、効率が良い可能性があるというところしか違いませんが..
select 名前, 日付, 順位
from
(
select
名前,
日付,
順位,
lag(キー, 1, キー) over(partition by 名前 order by キー) キー
from
(
select
名前,
日付,
順位,
decode(日付, min(日付) over(order by 日付), 順位) キー
from xxx
)
)
order by キー, 名前;
No.6
- 回答日時:
名前 日付 順位
山田 20050301 1
山田 20050302 3
田中 20050301 2
田中 20050302 1
佐藤 20050301 3
佐藤 20050302 4
鈴木 20050301 4
鈴木 20050302 2
上のようなデータなら
WHERE で取得したい日付を指定して
ORDER BY で順位を並び替えじゃダメかな?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ¥マークを含むパスの処理について(マクロ、または関数) 2 2022/12/25 02:11
- SQL Server ACCESSで3ファイルを結合して、表を作成するやり方を教えて下さい。 17 2022/08/15 20:34
- SQL Server ACCESSで表が作りたく、そのためのSQL文や設定方法を教えてください。 1 2022/08/15 12:28
- SQL Server ACCESSで複数テーブルを結合して、リストを作る方法を教えてください。 2 2022/08/12 19:32
- Perl perl このテキストファイルを簡単に配列に入れるには? 2 2022/04/27 20:24
- その他(Microsoft Office) パワークエリの複数ファイルのデータ統合について 3 2022/07/14 17:06
- その他(データベース) カラム上の重複を削除するクエリを教えてください 3 2022/04/12 14:11
- JavaScript JavaScript|特定URLだった時、特定の要素を変更するコードの書き方を教えてほしいです 2 2023/08/25 21:43
- JavaScript jsonテキストデータの並び替えができるサービスを教えてください 2 2022/08/05 20:16
- Visual Basic(VBA) 【VBA】特定の文字で改行(次の行)に行きたい。 3 2022/04/11 17:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
今日の日付が入った行のデータ...
-
SQLで部分的にGROUP BYしたいとき
-
wordの差し込み印刷での日付表示
-
テーブルの主キーをdate型...
-
日付型なら変数の先頭になん...
-
日付書式に変換でこまっています!
-
OSのシステム日付を変更して...
-
14桁の日付(YYYYMMDDHHMMSS)を...
-
エクセル 日付による並べ替え...
-
DB2のSQL(日付)について
-
日数算出SQL
-
構造体の配列変数の順番入れ替え
-
sysdateのフォーマットが変わり...
-
関数IFで、指定日付範囲のデー...
-
SQL MAX関数を検索条件にする。
-
SQLサーバで和暦から西暦に変換...
-
Excelについて
-
Excelの並べ替えがうまくいかない
-
oracle 文字列 01:45 を時間に...
-
日付表示について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
今日の日付が入った行のデータ...
-
Accessの数値から時間に変換す...
-
SQLで部分的にGROUP BYしたいとき
-
SQLサーバで和暦から西暦に変換...
-
14桁の日付(YYYYMMDDHHMMSS)を...
-
エクセル 日付による並べ替え...
-
エクセルVBA 今日の日付行...
-
oracle 文字列 01:45 を時間に...
-
23時59分59秒までのデータを抽...
-
WHERE句にて「30日前から今日ま...
-
テーブルの主キーをdate型...
-
特定の日付が第何週目にあるか...
-
SQLite3のtext→date変換について
-
SQLで今日の日付でWhereしたい
-
ExcelのSUMPRODUCTで日付の範囲...
-
日付の切り出し方法について
-
指定した年月までのデータを取...
-
4バイトの日付データを、16進数...
-
日付型なら変数の先頭になん...
-
wordの差し込み印刷での日付表示
おすすめ情報