Php 每组的最小值和最大值
我有两张桌子 位置:Php 每组的最小值和最大值,php,mysql,sql,Php,Mysql,Sql,我有两张桌子 位置: ID TransNumber ItemName Quantity location_id 1 1234 Chicken Burger 3 1 2 1234 Cheese Burger 1 1 3 1235 Sandwich 4 2 4 1332 Salad 1 4 5
ID TransNumber ItemName Quantity location_id
1 1234 Chicken Burger 3 1
2 1234 Cheese Burger 1 1
3 1235 Sandwich 4 2
4 1332 Salad 1 4
5 14537 Tikka 1 3
6 1236 Roll 3 2
7 1333 Biryani 2 4
location_id address
1 Gulshan
2 Nipa
3 Liyari
4 F.B.Area
- 位置标识
- 地址
ID TransNumber ItemName Quantity location_id
1 1234 Chicken Burger 3 1
2 1234 Cheese Burger 1 1
3 1235 Sandwich 4 2
4 1332 Salad 1 4
5 14537 Tikka 1 3
6 1236 Roll 3 2
7 1333 Biryani 2 4
location_id address
1 Gulshan
2 Nipa
3 Liyari
4 F.B.Area
- 身份证
- 交易编号
- 位置标识
- 项目名称
- 数量
HighestItemName HighQauntity LowestItemName LowQuantity LocationName
Chicken Burger 50 Tako 5 Gulshan
Chicken Burger 100 Tikka 10 Nipa
Pasta 150 Cheese Burger 12 Liyari
Pizza 200 Chicken Burger 3 F.B.Area
到目前为止我所做的查询:
SELECT t.itemName as HighestItemName, sum(t.quantity) as HighQuantity, l.address LocationName
from itransfile as t join locations as l
on t.location_id = l.location_id
where t.location_id IN(1,2,3,4)
group by t.location_id
我不知道如何从每组获得max
和min
项目
样本数据:
ID TransNumber ItemName Quantity location_id
1 1234 Chicken Burger 3 1
2 1234 Cheese Burger 1 1
3 1235 Sandwich 4 2
4 1332 Salad 1 4
5 14537 Tikka 1 3
6 1236 Roll 3 2
7 1333 Biryani 2 4
location_id address
1 Gulshan
2 Nipa
3 Liyari
4 F.B.Area
如果您在一个查询()中需要它,那么这就是您可能要查找的内容: 它查找最小/最大值,然后查找项目名称和位置地址。
GROUP_CONCAT
确保当有更多的项目具有相同的最小/最大数量时,您可以获得所有项目
或者,如果需要进一步处理,您可以删除
分组依据
和分组内容
,并获取行中的所有项目。提供适当的表定义和示例数据集,以获得所需的结果集OK,让我把它收集到post hereDo中您需要它在一个查询中还是可以运行两个查询?常规GROUP BY规则说:如果指定GROUP BY子句,则SELECT列表中的每个列引用必须标识一个分组列,或者是集合函数的参数!不幸的是,我希望它在一个查询。如果可能,请删除组目录,如果有多个相同数量的项目,那么我只想要一个项目。您只需删除组目录
,它会为您提供itemName。我相信itemName是随机给出的——在这种情况下,每次运行查询时,如果有多个数量相同的项目,结果可能会不同。