2011-07-18 20 views
2

Selectに大きな列リストがあります。SQL Server 2008のクエリで「Group By *」?

結果をグループ化するには、select句のすべての項目を取得してGroup By句に入れる必要があります。

GROUP BYで参考のためにそこにすべてのアイテムを取得するための簡単な方法があります場合、私は、このような方法はこれを行うことができますか?GROUP BY *

として、疑問に思いますか

答えて

1

実際には魔法の弾丸はありません。グループ化するすべての列をGroup By句にリストする必要があります。ワイルドカードは使用できません。

+0

ワイルドカードについては真です。しかし、魔法の弾丸については真実ではありません。彼は彼のグループバイステートメントを書くための簡単な方法を探しているだけです。それを避けてください。たとえば、彼がsqlをSSMSのクエリデザイナーにコピーすると、グループバイステートメントを自動的に生成するワンクリックの方法があります。 – Chains

+0

@kuru kuru na - 私はあなたの魔法の弾丸の定義にかかっていると思う。エディタのツールはSQL sntaxに関する質問以来、魔法の弾丸であるとは本当に考えていません。さらに、あなたの議論に基づいた答えをdownvotingすることは私にとってかなり残酷に思えます。 – dcp

+0

彼はグループバイを作る簡単な方法を探しています。彼はあなたが彼の質問を読んだら、構文的アプローチに興味があるだけではありません。彼は簡単な方法があるかどうかを知りたがっています。あなたの "答え"は簡単な方法がないということでした。大したことではありませんが、この場合は間違っています。投票ダウンであなたの気持ちを傷つけるつもりはありませんでした - あなたの返事にあなたの復讐があるのを見ました - あなたには良いことです。 – Chains

2

「簡単な方法は、SELECTの列をコピーしてGROUP BYに貼り付けることです。このためにSQLに構文上のショートカットはありません。

+0

...それのためのUIのショートカットがあります。そのようなものについて私の答えを見てください...もっとあるかもしれませんが、私はただ一つしか知りません。 – Chains

0

@Joeはコメントの中で、コピー先は最も簡単なものであると述べています。それ以外に、選択されているものに基づいて自動グループ化することがわかっている組み込み方法はありません。

1

あなたSELECT句でによってすべての列をグループ化している場合は、きっとあなたが達成しているすべてはあなたがGROUP BY句を省略すると、ちょうどSELECT DISTINCT ...を使用しないでください。その場合には、結果が一意にすることです。

もちろん、結果セットに結果が重複しているのはなぜですか?しかし、これは別の質問です。

1

SELECT(集計、平均、カウントなど)で集計を実行していない場合は、Group Byのすべての列を持つ必要はありません。

も ​​- ここで私はSSMSでクエリデザイナを使用し

  • の知っている1つのショートカットです。テーブルが表示されているウィンドウ枠をRキーを押しながらクリックし、[グループ別に追加]を選択します。

他のSQL-エディタSSMSのほかにも、このようなもののために良い/より良い特徴を有していてもよい - など、SQLのためのヒキガエルをチェックアウト

+0

select文のカラムのコピーと貼り付けよりも速いのはどうですか?コピーと貼り付けははるかに高速です。グループ化したいすべての列の横に手動でチェックマークを付けると、40列ある場合は時間がかかることがあります。 – dcp

+0

kuru na - 私は実際に自分自身とクエリデザイナーのわずか10列でこれを試しました。すべての列のチェックボックスをクリックするのに6〜7秒ほどかかっていました。 selectステートメントの列のカットと過去は、私は約3〜4秒かかりました。それが実際のベンチマークです。多分あなたの方法は他の人にとっては速いですが、私はすべて私が自我に巻き込まれているとは思わないので、私は下線を削除しました。私はクエリーデザイナーを使用しないことを認めます。だから、おそらくこの方法は一部の人にとってはうまくいくでしょう。 – dcp

+0

実際には、クエリを記述した後に「グループを追加」を選択することができます(したがって、チェックボックスをまったく使用する必要はありません。実際には、デザイナをまったく使用する必要はありません通常のウィンドウでクエリを書くことができるので、ウィンドウをr-クリックするとデザイナにsqlが移動します) - 文字通りわずか2回のクリックです:メニューをr-クリックし、次にl-をクリックしますオプション。お返事をありがとうございます。 – Chains

0

私はドラッグして、オブジェクトブラウザから列をドロップするか、コピーしてselectステートメントから貼り付けます。