gpt4 book ai didi

mysql - 自定义查询计数和分组

转载 作者:行者123 更新时间:2023-11-29 06:55:31 25 4
gpt4 key购买 nike

我正在尝试找到一种方法来按价格“组”对数据库表中的价格进行分组。所以我的数据库表看起来像这样:

+-------+------------------+
| Field | Type |
+-------+------------------+
| id | int(11) unsigned |
| name | varchar(255) |
| price | varchar(30) |
+-------+------------------+

那些是我的数据库表中的相关字段。我想要完成的是运行一个查询,该查询将按价格范围对结果进行分组,因此介于 1 美元和 10 美元之间的项目将进入第 1 组; 11 美元到 20 美元将进入价格组 #2,等等……所以它应该是这样的:

+-------------+------------+
| price_group | item_count |
+-------------+------------+
| $1-$10 | 10 |
+-------------+------------+
| $11-$20 | 8 |
+-------------+------------+
| $21-$30 | 22 |
+-------------+------------+
| $31-$40 | 58 |
+-------------+------------+
| $41-$40 | 3 |
+-------------+------------+

我没有尝试过的任何代码,因为我不确定从哪里开始。仍在寻找线索。

最佳答案

您可以按价格分组(由于分组划分的位置而偏移 1),除以 10,转换为整数。以 21-30 美元的人群为例。如果你减去一个,那就是 20-29 美元。除以 10(并转换为整数),该组中的任何内容都将返回 2 美元,从而为价格组提供一个常量。

SELECT CAST((price - 1) / 10 AS UNSIGNED) AS price_group, 
SUM(item_count) as total_item_count
FROM table_name
GROUP BY price_group

另请注意,我执行了 SUM(item_count) 以获得该组的总数。

这里返回的 price_group 只是十位数。例如,对于组“$21-$30”,返回的 price_group 将为“2”。

关于mysql - 自定义查询计数和分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12964681/

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