人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ACCESSの質問です。クエリの式を教えてください。
現状では(1)のように
合計数の昇順、ネームの昇順になっているのですが、
これを(2)のように、合計数の昇順、コードは合計数が変わるごとに昇順
ネームは同じネームごとに並べる、といった形にしたいです。
単純に合計数の昇順、コードの昇順にしてしまうと、ネームがバラバラになってしまうので、
同じネームが並んだ形になるようにしたいです。
(1)
合計数ネームコード
1 A E011
1 S I241
1 C E010
2 F I799
2 F J023
2 G I682
2 G I199
3 H I558
3 H I161
3 H E025
5 B I562
5 B I189

(2)
合計数ネームコード
1 C E010
1 A E011
1 S I241
2 G I199
2 G I682
2 F I799
2 F J023
3 H E025
3 H I161
3 H I558
5 B I189
5 B I562

●質問者: rupopon
●カテゴリ:コンピュータ 学習・教育
✍キーワード:access クエリ コード ネーム 計数
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● chuken_kenkou
●0ポイント

(1)

合計数 ネーム コード

1 A E011

1 S I241

1 C E010

2番目と3番目は、逆(CがSより先)の誤りですよね?

次のSQLで、どうでしょうか?

SELECT 合計数,ネーム,コード
 FROM table_name
 ORDER BY 合計数,コード,ネーム
◎質問者からの返答

すみません。2番目と3番目は、逆(CがSより先)でした。

ありがとうございました。


2 ● ふるるP
●30ポイント

ネームがばらばらになる、ということは、同じネームに対し、複数のコードがある、ということですね。単純にしてみると、

ネーム : コード

A : 2

A : 4

B : 1

B : 3

というような場合にコードの昇順にすると

B 1

A 2

B 3

A 4

になります。これを

B 1

B 3

A 2

A 4

にしたいのでしょうか? コードの昇順ではないですよね。つまり、要求が矛盾しています。

コード順だけど、コード順に使用するコードは、ネームごとのコードの最小値を使用する、

ということであれば、ソート用の列を用意して、

ネーム : コード :ソート用コード

A : 2 : 2

A : 4 : 2

B : 1 : 1

B : 3 : 1

のようにして、コードではなく、ソート用コードの列でソートすればいいでしょう。

ソート用コードは、ネームごとのMinを使えばいいかと。

◎質問者からの返答

ありがとうございました。

やってみます。


3 ● panana
●30ポイント

ACCESSのクエリの並べ替えは左から順に適用されます。

なので、列を「合計数」「コード」「ネーム」の順に入れ替えてもよいなら、

入れ替えて、それぞれ「並べ替え」を昇順にすればよいです。

f:id:panana:20081219164853g:image


「合計数」「ネーム」「コード」の順番で表示させたいのなら、

「合計数」(昇順/表示にチェック)

「ネーム」(表示にチェック)

「コード」(昇順/表示にチェック)

「ネーム」(昇順/表示のチェックを外す) ← 並べ替えのためだけの、表示させない列。

にします。

f:id:panana:20081219164233g:image

◎質問者からの返答

ありがとうございました。

このやり方だと同じネームが飛んで表示されてしまいます。

同じネームが離れないように表示させたいです。


4 ● ふるるP
●30ポイント

tbl1

NameCode

あ2

か1

あ4

か3

とします。次のクエリを実行します。

SELECT tbl1.*

FROM tbl1 LEFT JOIN ( SELECT Name, Min(Code) AS MinCD

FROM tbl1

GROUP BY Name ) q

ON tbl1.Name = q.Name

order by MinCD,Code

結果はこうなります。

NameCode

か1

か3

あ2

あ4

サブクエリでソート用のCode列(上記ではMinCdという名前にしています)をつくり、結合させてソートさせます。

◎質問者からの返答

ありがとうございました。

参考にさせていただきます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ