我正在2个表的单个查询中尝试GROUP
,SORT
和COUNT
。
一个叫做'commodities_customs',另一个叫'commodities_imf'。
以下是我的'commodities_customs'表的简化:
family sub_family name detailed_name
Agro Grains Wheat Wheat per 1 mt
Agro Grains Corn Corn per 1 mt
Agro Grains Sugar Sugar per 1 mt
Agro Fruits Apple Apple red
Agro Fruits Apple Apple green
Agro Fruits Apple Apple yellow
Agro Fruits Lemon Lemon classic
Wood Tree Lemon Lemon in logs
Wood Tree Oak Oak in logs
Wood Tree Epicea Epicea in logs
Wood Packaging Kraftliner Krafliner 3mm
这是我的'commodities_imf'表的简化:
family sub_family name detailed_name
Agro Grains Wheat CME Wheat
Agro Grains Corn CME Corn
Wood Tree Cedar CME Cedar in logs
Wood Tree Oak CME Oak in logs
Wood Tree Lemon CME Lemon
Wood Packaging Kraftliner CME Kraftliner
我无法将两个表合并为一个,因为还有许多其他列不同。
所以基本上,我正在尝试
UNION ALL
,但我不确定这是正确的解决方案)GROUP
by'name'SORT
由'family',sub_family'和最后'name'COUNT
每个'家庭','sub_family'和'name'的行数(在同一个sub_family和家庭中)我之前就该主题的查询请求了帮助: MySQL - Group, Sort and Count in a single query。检查它会很有趣。
但是现在,我正在尝试执行相同类型的查询,但是在两个表的合并上。 这就是我期待的结果:
family NbrFamily sub_family NbrSubFamily name NbrName
Agro 9 Fruits 4 Apple 3
Agro 9 Fruits 4 Lemon 1
Agro 9 Grains 5 Corn 2
Agro 9 Grains 5 Sugar 1
Agro 9 Grains 5 Wheat 2
Wood 8 Packaging 2 Kraftliner 2
Wood 8 Tree 6 Cedar 1
Wood 8 Tree 6 Epicea 1
Wood 8 Tree 6 Lemon 2
Wood 8 Tree 6 Oak 2
我重新使用了一个SQLfiddle与我的新(与上面链接的其他问题相比)'union'对你的要求:http://sqlfiddle.com/#!9/b55eea/7
我读过这个问题可能来自MySQL
未处理的公用表要求。我对吗 ?你有什么想法可以解决这个问题吗?
非常感谢你的帮助。