David_Wimbley
Я сделал свою собственную схему на основе вашего запроса, так как у меня нет никаких образцов данных, но посмотрите, работает ли это.
То, что я сделал, - это создал дерьмовые данные для 12 пользователей, и вы заметите, что этот запрос должен исключить user2 и user12, я полагаю.
Если это не то, что вы ищете, используйте ссылку улучшить вопрос в своем вопросе, чтобы обновить его с помощью примера схемы и нескольких примеров элементов данных.
--SELECT user,Subcategory,count(orderID) "Count" FROM Order group by user ,Subcategory with Rollup ORDER BY 1
DECLARE @Order TABLE
(
Id INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
Username varchar(25) NULL,
SubCategory VARCHAR(50) NULL,
OrderId INT NULL
);
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user1','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user1','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user1','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user2','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user2','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user2','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user3','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user3','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user3','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user4','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user4','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user4','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user4','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user4','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user5','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user5','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user5','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user5','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user5','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user5','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user5','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user6','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user6','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user6','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user6','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user6','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user6','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user6','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user6','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user7','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user7','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user7','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user7','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user8','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user8','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user8','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user9','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user9','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user9','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user9','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user9','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user10','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user10','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user10','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user11','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user11','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user11','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user11','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user12','1',1)
INSERT INTO @Order (Username, SubCategory, OrderId) VALUES ('user12','1',1)
--Get top 10 by subcategory
SELECT
TOP 10
Username,
COUNT(*)
FROM @Order
GROUP BY Username, SubCategory
ORDER BY COUNT(*) DESC
--Get top 10 by subcategory and orderid
SELECT
TOP 10
Username,
COUNT(*)
FROM @Order
GROUP BY Username, SubCategory, OrderId
ORDER BY COUNT(*) DESC