«Группировать по *» в запросе SQL Server 2008? - PullRequest
2 голосов
/ 18 июля 2011

У меня есть большой список столбцов в Select.

Чтобы сгруппировать результат, я должен получить все элементы в предложении select и вставить в него предложение Group By.

Интересно, есть ли какой-нибудь простой способ получить все предметы для справки в GROUP BY, например, GROUP BY *

Как это можно сделать?

Ответы [ 6 ]

2 голосов
/ 18 июля 2011

Самый простой способ - скопировать / вставить столбцы из вашего SELECT в GROUP BY.Для этого в SQL нет синтаксического сокращения.

1 голос
/ 18 июля 2011

Если вы не выполняете агрегирование в своем SELECT (сумма, среднее, счет и т. Д.), Вам не нужно иметь каждый столбец в вашей группе.

Также - вот один из известных мне ярлыков

  • Использовать конструктор запросов в SSMS. R-щелкните область окна, куда идут таблицы, и выберите «добавить группирование».

Другие sql-редакторы, кроме SSMS, также могут иметь хорошие / лучшие функции для подобных вещей - проверить TOAD для SQL и т. Д.

1 голос
/ 18 июля 2011

Если вы группируете по всем столбцам в вашем предложении SELECT, то, безусловно, все, чего вы достигнете, - это сделайте результаты уникальными, и в этом случае вы не должны опускать предложение GROUP BY и просто используйте SELECT DISTINCT ....

Конечно, тогда возникает вопрос, почему в вашем наборе результатов все равно есть дубликаты результатов, но это другой вопрос.

1 голос
/ 18 июля 2011

Здесь действительно нет волшебных пуль. Вы должны перечислить все столбцы, по которым вы группируете, в предложении Group By. Вы не можете использовать групповые символы.

0 голосов
/ 18 июля 2011

Я перетаскиваю столбцы из браузера объектов или копирую и вставляю из оператора select.

0 голосов
/ 18 июля 2011

Как сказал @Joe в комментарии, копирование мимо - самое легкое, что получается. Кроме этого, я не знаю встроенного способа, который бы автоматически группировал в зависимости от того, что было выбрано.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...