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
  • 位置标识
  • 地址
itransfile:

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是随机给出的——在这种情况下,每次运行查询时,如果有多个数量相同的项目,结果可能会不同。