无法从表中获得不同的价值

时间:2017-06-21 09:31:48

标签: mysql distinct

[我的桌子照片] [1]

通过此

SELECT distinct(weight), id, product_id, value2 FROM `modx_msop2_price` order by product_id, weight

我明白

0.08    939 500 black
0.08    748 500 redgold
0.08    748 500 maze
0.50    720 500 redgold
0.50    744 500 olimpgold
10.00   910 440 med
10.00   920 440 green
10.00   942 440 blue

...

“product_id”具有所有重量值。

我想要这样的事情

SELECT distinct(weight), id, product_id, value2 FROM `modx_msop2_price`

结果表应如下所示:

0.80    939 440 black
10.00   910 440 med
20.00   379 440 grafit
0.08    748 500 redgold
0.50    744 500 olimpgold
...

所以“product_id”只有不同的“权重”值

解决方案是使用«GROUP BY»     从modx_msop2_price 分组选择权重,product_id,id,value2按product_id,权重按product_id排序

3 个答案:

答案 0 :(得分:0)

如果需要一个产品ID,它可以在MYSQL中分组,它给出第一个id。 注意:下面的查询将在Orcale中产生错误,但会为MYSQL提供输出。

查询如下:

SELECT id,product_id,value2,wight 来自modx_msop2_price GROUP BY id 按product_id,重量排序;

答案 1 :(得分:0)

您所需的输出似乎“不一致”,但无论如何您可以尝试这个

SELECT weight, id, product_id, value2 FROM `modx_msop2_price` group by     
product_id order by product_id, weight;

OR

您也可以按'重量'进行分组。

答案 2 :(得分:0)

解决方案使用«GROUP BY»

select weight,product_id,id,value2 from modx_msop2_price group by product_id,weight order by product_id