首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于同一表中关联项的项的正确顺序查询

问基于同一表中关联项的项的正确顺序查询
EN

Stack Overflow用户
提问于 2013-09-08 16:34:48
回答 1查看 83关注 0票数 1

我想要对捆绑产品的列表(每个包是表中的一个单数)进行排序,这个列表基于其各个组件的总数量(这些组件是同一表中的每个单数项)。

因此,我在同一个表中有一个包含主项及其相关组件的产品表。有一列将其标识为主项或组件( main ='1‘或main='0'),以及将组件与主项的行ID相关联的列(master_id='xxx')。我也有一个专栏,它可以跟踪有多少被出售(列被称为sold_count)。

但是,如何根据每个主项的所有关联组件的sold_count总数对主项的结果查询进行排序呢?

代码语言:javascript
复制
SELECT Item_Name FROM 'products' WHERE main='1' ORDER BY _______________ ???

以下是表的结构:

代码语言:javascript
复制
    ID | Item_Name | Main | Master_ID | Sold_Count
    1    Kit A         1       0          0
    2    Widget A1     0       1          3
    3    Widget A2     0       1          6
    4    Kit B         1       0          0
    5    Widget B1     0       4          2
    6    Widget B2     0       4          8

因此,我想让Kit A和Kit B根据出售的相关小部件的数量进行排序。因此,这种情况应该是:

  1. 工具包B
  2. 工具包A

因为Kit B有10个小部件组件售出,而Kit A只有9个总部件。

EN

回答 1

Stack Overflow用户

发布于 2013-09-08 17:10:54

这可能会给你想要的结果。

这没有使用mysql扩展来分组by,并且使用varchar字段来分组

代码语言:javascript
复制
 SELECT b.item_name, 
       Sum(a.sold_count) AS sales 
FROM   products AS a 
       INNER JOIN products AS b 
               ON a.master_id = b.id 
GROUP  BY b.id
ORDER  BY Sum(a.sold_count) DESC 

如果要使用mysql扩展并按int字段分组

SqlFiddle示例http://www.sqlfiddle.com/#!2/1725c/4/0

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18686040

复制
相关文章

相似问题

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