Задать вопрос
@CityzenUNDEAD

Почему не срабатывает данный select?

Всем здаров!
Подскажите почему не срабатывает данный select?
SELECT field1, count(field1), field2
  FROM [Table] 
  group by field1
  having count(field1)>1
  order by count(field1) desc
  • Вопрос задан
  • 86 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
@WaterSmith
Android-разработчик. Java, Kotlin
Какой-то странный у вас запрос. попробуйте такой:
SELECT field1, count(field1) as countf1, field2
  FROM [Table] 
  group by field1, field2
  having countf1>1
  order by field1 desc
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Поскольку текст ошибки вы не привели, то буду ванговать.
Поле field2 не входит ни в GROUP BY, ни в агрегатную функцию. Значит возникает неоднозначный выбор, из какой строки, попавшей в группу, брать это поле.
По стандарту ANSI SQL такое использование поля запрещено.
Ответ написан
tsklab
@tsklab Куратор тега SQL Server
Здесь отвечаю на вопросы.
SELECT field1, COUNT( field1 ), STRING_AGG( field2, ',' )
  FROM [Table] 
  GROUP BY field1
  HAVING COUNT( field1 ) > 1
  ORDER BY COUNT( field1 ) DESC
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы