高级MySQL查询(多条件和分组)
我有一个演示表,其中products列prod分组为categories列category: 有以下栏目: 最小年龄-该产品仅适用于至少此年龄段的客户 最大客户数-此产品仅适用于每次购买此数量的客户 我想解释一下:我们有一个家庭,两个父母年龄分别为35岁和39岁,两个孩子年龄分别为7岁和13岁。我需要的是一个sql查询,当这个系列设置总成本的上限时,它将为这个系列提供可用的类别。我需要处理此条件的查询:高级MySQL查询(多条件和分组),mysql,solution,Mysql,Solution,我有一个演示表,其中products列prod分组为categories列category: 有以下栏目: 最小年龄-该产品仅适用于至少此年龄段的客户 最大客户数-此产品仅适用于每次购买此数量的客户 我想解释一下:我们有一个家庭,两个父母年龄分别为35岁和39岁,两个孩子年龄分别为7岁和13岁。我需要的是一个sql查询,当这个系列设置总成本的上限时,它将为这个系列提供可用的类别。我需要处理此条件的查询: +----------------------+--------------+ | maxi
+----------------------+--------------+
| maximum total costs: | $99.00 |
+----------------------+--------------+
| 1st person: | 35 years old |
| 2nd person: | 39 years old |
| 3th person: | 7 years old |
| 4th person: | 13 years old |
+----------------------+--------------+
结果应显示可用类别:
+----------+--------+
| category | total |
+----------+--------+
| A | $92.00 |
+----------+--------+
如果最高总成本将更改为150.00美元,结果应为:
+----------+---------+
| category | total |
+----------+---------+
| A | $92.00 |
| B | $102.00 |
+----------+---------+
+----------+---------+
| category | total |
+----------+---------+
| A | $100.00 |
| B | $95.00 |
| D | $80.00 |
+----------+---------+
+----------+---------+
| category | total |
+----------+---------+
| B | $175.00 |
+----------+---------+
对于家庭B:
结果应该是:
+----------+---------+
| category | total |
+----------+---------+
| A | $92.00 |
| B | $102.00 |
+----------+---------+
+----------+---------+
| category | total |
+----------+---------+
| A | $100.00 |
| B | $95.00 |
| D | $80.00 |
+----------+---------+
+----------+---------+
| category | total |
+----------+---------+
| B | $175.00 |
+----------+---------+
对于C族:
结果应该是:
+----------+---------+
| category | total |
+----------+---------+
| A | $92.00 |
| B | $102.00 |
+----------+---------+
+----------+---------+
| category | total |
+----------+---------+
| A | $100.00 |
| B | $95.00 |
| D | $80.00 |
+----------+---------+
+----------+---------+
| category | total |
+----------+---------+
| B | $175.00 |
+----------+---------+
还有一个重要的注意事项:例如,如果客户年龄为25岁,并且在护理中有3个最小年龄记录2、15和18-在这种情况下,仅使用最接近的一个18。如果有问题,我可以通过增加列max_age来扩展表,以创建间隔2-14、15-18、18-99
提前感谢您的帮助