首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在查询中将组的结果分组?

如何在查询中将组的结果分组?
EN

Stack Overflow用户
提问于 2013-09-05 16:47:24
回答 2查看 60关注 0票数 1

我想选择5种最畅销的商品。

代码语言:javascript
复制
SELECT ID, shop, article_nr, count(*) as count
FROM table
GROUP BY shop, article_nr
ORDER BY count DESC
LIMIT 5

此查询的结果:

代码语言:javascript
复制
ID | shop   | article_nr | count
--------------------------------------
71 | amazon | 123        | 280
98 | amazon | 223        | 170
35 | amazon | 323        | 99
7  | ebay   | 456        | 71
11 | amazon | 789        | 49
4  | ebay   | 032        | 10

如何在第二步中按列“shop”对结果进行分组(可能编辑查询)?

它应该是这样的(在前5名中只有一家):

代码语言:javascript
复制
ID | shop       | article_nr  | count
--------------------------------------
71 | amazon     | 123         | 280
7  | ebay       | 456         | 71
.. | shop_x     | ...         | 55
.. | shop_y     | ...         | 40
.. | shop_z     | ...         | 37

有人能帮我吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-05 17:03:04

对于您的问题,流行且描述良好的答案就在这里:https://stackoverflow.com/a/612268/1803682

具体而言,如何选择AggregateFunction(列)(列)(其他列)?

如果您想在中使用它并发布它,我很乐意提供更多的帮助。

票数 0
EN

Stack Overflow用户

发布于 2013-09-05 17:24:09

这就是你想要的

代码语言:javascript
复制
SELECT id, shop, article_nr, count FROM table n 
WHERE count = (SELECT MAX(count) FROM table GROUP BY shop HAVING shop = n.shop) LIMIT 5;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18641802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档