gpt4 book ai didi

mysql - mysql 中的 GROUP BY 查询返回多个重复行

转载 作者:行者123 更新时间:2023-11-29 12:13:24 25 4
gpt4 key购买 nike

我使用以下 mysql 查询,认为它会给我一个按给定字段分组的唯一行表。我最终得到了几行,其中按字段分组是重复的,但唯一的 id 和计数是唯一不同的。

有数万行,但只有几百行是重复的,字段中没有明显的差异。可能是什么原因造成的?

 CREATE TABLE group_avg_product_prices AS
SELECT group_id,
feature_1,
feature_2,
feature_3,
AVG(price) AS avg_price,
count(*) AS sample_count,
GROUP_CONCAT(unique_id SEPARATOR ",") AS items
FROM products_table
GROUP BY group_id,
feature_1,
feature_2,
feature_3

返回类似于以下内容的行:

asdf123 | 2 | 1| .5| 2.65| 3| id1,id2,id3
asdf123 | 2 | 1| .5| 2.34| 2| id4,id5

这让我抓狂,我找不到任何理由可以做到这一点。

预先感谢您的帮助。

最佳答案

根据您的示例数据,第四列是数字。它可能看起来像 0.5,但值可能不同,例如 0.499999 和 0.500001。

我的建议是使用 format() ——要么在输出上使用,以便您可以看到差异,要么在查询本身中使用。例如,要合并具有相似值(直到第一个小数位)的两行:

 SELECT group_id, feature_1,  feature_2, 
format(feature_3, 1) as feature_3,
AVG(price) AS avg_price,
count(*) AS sample_count,
GROUP_CONCAT(unique_id SEPARATOR ',') AS items
FROM products_table
GROUP BY group_id, feature_1, feature_2,
format(feature_3, 1);

关于mysql - mysql 中的 GROUP BY 查询返回多个重复行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30279452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com