Я знаю, что мне нужно (хотя я не'т знаю, почему) А группы
п. В конце SQL-запроса, который использует любые агрегатные функции, такие как количество
, сумма
, СР
, и т. д.:
SELECT count(userID), userName
FROM users
GROUP BY userName
Когда еще Группы
быть полезен, и каковы последствия исполнения?
Чтобы получить количество виджетов из каждой категории виджет, который имеет более чем 5 виджеты, вы могли бы сделать это:
SELECT WidgetCategory, count(*)
FROM Widgets
GROUP BY WidgetCategory
HAVING count(*) > 5
В "иметь" в предложении является то, что люди часто забывают, предпочитая получить все свои данные клиенту, и пройдясь по ней есть.
Группа на подобное отличие в том, что она объединяет несколько записей в одну.
Этот пример, заимствованный из http://www.devguru.com/technologies/t-sql/7080.asp, списки различных товаров в таблице товаров.
SELECT Product FROM Products GROUP BY Product
Product
-------------
Desktop
Laptop
Mouse
Network Card
Hard Drive
Software
Book
Accessory
Преимущество группы более отчетливыми, что он может дать вам полный контроль, когда используется предложение having.
SELECT Product, count(Product) as ProdCnt
FROM Products
GROUP BY Product
HAVING count(Product) > 2
Product ProdCnt
--------------------
Desktop 10
Laptop 5
Mouse 3
Network Card 9
Software 6
Подсчет количества раз теги используются может быть пример Google:
SELECT TagName, Count(*)
AS TimesUsed
FROM Tags
GROUP BY TagName ORDER TimesUsed
Если вы просто хотите особого значения тегов, я бы предпочел, чтобы использовать четкая
заявление.
SELECT DISTINCT TagName
FROM Tags
ORDER BY TagName ASC