【发布时间】:2017-04-14 06:15:33
【问题描述】:
我正在尝试在 MYSQL 中对数据进行分组,但不知道该怎么做。
有一张旧表,上面有以下数据。
ID Product Version Memory Color
1 1 iPhone 7 128 Black
2 2 iPhone 7 128 Black
3 3 iPhone 7 32 Gold
4 4 iPhone 7 32 Gold
SELECT count(1), Version FROM old_temp_table GROUP BY Memory, Color, 版本
组查询返回以下输出:
count Version
2 iPhone 7
2 iPhone 7
现在:我已将此表转换为键值形式,但我希望在组中获得与旧表相同的输出。
ID Product Key Value
1 1 Version iPhone 7
2 1 Memory 128
3 1 Color Black
4 2 Version iPhone 7
5 2 Memory 128
6 2 Color Black
7 3 Version iPhone 7
8 3 Memory 32
9 3 Color Gold
10 4 Version iPhone 7
11 4 Memory 32
12 4 Color Gold
我尝试了以下查询:
SELECT count(*), test_group.
Keyfrom test_group GROUP BY test_group.key,Value
此查询显示不同的输出。
Count Key
2 Color
2 Color
2 Memory
2 Memory
4 Version
我怎样才能以最好的方式做到这一点?谢谢
更新:我不想比较两个表的数据。我只想对新表数据进行分组,但输出应该与我对旧表所做的相同。
Version:iPhone 7,Memory:128,Color:Black
Version:iPhone 7,Memory:32,Color:Gold
【问题讨论】:
-
您已经显示了几个查询的输出,但没有一个可能是您想要的 实际 输出。你想在这里输出什么?
-
“我已将此表转换为键值形式”我想知道为什么:-(
-
@Strawberry 我正在为电子商务创建聚合器应用程序。所以我有不同类别的具有不同属性的产品。我不确定将来需要创建多少列。
-
我正在从 10 多家商店以不同的价格和不同的属性(如记忆色)检索像 iphone 7 这样的相同产品。我正在创建将相似产品分组并找到最便宜价格的脚本。如果您有任何建议,请告诉我。我不是面向数据库的人:)