none
GROUP BY и подсчитать ряды RRS feed

  • Вопрос

  • Привет всем :)

     

    Вопрос по коду на GROUP BY. Стало интересно добавить возможность фильтровать по убыванию кол-во групп одинаковых продуктов.

    В таком направлении

    Продукт1 | 10

    Продукт2 | 8

    Продукт3 | 5

    итп

     

    Вот сам код

     

    SELECT Product, count(Product) as ProdCnt
    FROM Products
    GROUP BY Product
    

     

    Нужно как-то применить ORDER BY, но у меня работы с ним мало опыта.

    Помогите разобраться...

    Заранее благодарен за полезные комментарии

    • Перемещено SachinW 2 октября 2010 г. 0:12 MSDN Forums Consolidation (От:SQL Server для разработчиков)
    27 сентября 2010 г. 0:55

Ответы

Все ответы

  • SELECT Product, count(Product) as ProdCnt
    FROM Products
    GROUP BY Product
    ORDER BY count(Product) desc
    
    • Предложено в качестве ответа Naomi N 27 сентября 2010 г. 18:41
    • Помечено в качестве ответа I.Vorontsov 28 сентября 2010 г. 5:36
    27 сентября 2010 г. 3:56
  • Тогда уж так лучше (используем ссылку на столбец в сортировке):

    SELECT Product, count(Product) as ProdCnt
    FROM Products
    GROUP BY Product
    ORDER BY ProdCnt desc
    
    27 сентября 2010 г. 14:46
  • Спасибо - интересно :)

    А что если в GROUP BY будет несколько столбцов?

    SELECT Product, count(Product) as ProdCnt
    FROM Products
    GROUP BY Product, price,sold
    ORDER BY ProdCnt desc

    Такой запрос годится?

    27 сентября 2010 г. 18:37
  • Da. Ili

    SELECT Product, count(Product) as ProdCnt
    FROM Products
    GROUP BY Product, price,sold
    ORDER BY count(Product) desc


    Premature optimization is the root of all evil in programming. (c) by Donald Knuth

    Naomi Nosonovsky, Sr. Programmer-Analyst

    My blog
    27 сентября 2010 г. 18:42