Sql 查询以在一个或多个列值相等时查找平均值或最大值

Sql 查询以在一个或多个列值相等时查找平均值或最大值,sql,excel-formula,max,average,Sql,Excel Formula,Max,Average,简言之,我有一个关于仓库中位置的电子表格。位置由通道和插槽编号表示 在所附的图像中,黄色突出显示的是来自我的查询的数据,绿色(J列)是我最终要寻找的。绿色是位置中最流行的STR.NAME。这将排除空白,除非整个位置为空白 也就是说,美国糖将是GG4通道29号槽中最受欢迎的商品 也就是说,我希望在查询级别而不是在Excel公式中执行此操作,但我对这两者都持开放态度 [![电子表格截图][1][1] 这是我的问题。这并不漂亮,因为我选择在将大量数据转储到电子表格之前对其进行格式化 CONCAT(C

简言之,我有一个关于仓库中位置的电子表格。位置由通道和插槽编号表示

在所附的图像中,黄色突出显示的是来自我的查询的数据,绿色(J列)是我最终要寻找的。绿色是位置中最流行的STR.NAME。这将排除空白,除非整个位置为空白

也就是说,美国糖将是GG4通道29号槽中最受欢迎的商品

也就是说,我希望在查询级别而不是在Excel公式中执行此操作,但我对这两者都持开放态度

[![电子表格截图][1][1]

这是我的问题。这并不漂亮,因为我选择在将大量数据转储到电子表格之前对其进行格式化


CONCAT(CONCAT(LTRIM(RTRIM(MAAISL)), '_'),LTRIM(RTRIM(MASLOT))) AS LOCATION,


CEILING(LTRIM(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(MASLOT, 'A', ''), 'B', ''), 'C', ''), 'D', ''), 'E', ''), 'F', ''), 'G', ''), 'H', ''), 'I', ''), 'J', ''), 'K', ''))) AS "SLOT.NUM",

LTRIM(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(REPLACE(MASLOT, '0', ''), '1', ''), '2', ''), '3', ''), '4', ''), '5', ''), '6', ''), '7', ''), '8', ''), '9', ''))  AS "SLOT.LVL",

LTRIM(MAAISL) AS "AISLE",
MAX(CEIL(LTRIM(MADEPT))) AS "SLOT.DEPTH",
MAX(CEILING(LCSTOR)) AS "STR.NUM",
MAX(RTRIM(LTRIM(STNAME))) AS "STR.NAME",
MAX(LTRIM(ITDSC1)) AS "ITM.DESC",
MAX(LTRIM(LCITEM)) AS "ITM.CODE",
MAX(LTRIM(ITPDCD)) AS "ITM.GRP",
MAX(CEILING(ITINDP)) AS "ITM.DPTH",
MAX(CEILING(ITINWD)) AS "ITM.WDTH",
MAX(CEILING(ITINHI)) AS "ITM.HGHT",
MAX(ITPALH) AS "PLT.STK.HGHT",

SUM(CASE WHEN ITUNQ3 = ' ' THEN CEIL(QTY/ITUNQ2) ELSE CEIL((QTY/ITUNQ2)/ITUNQ3) END) AS "PLT.QTY"

FROM LOCXSTORER
WHERE MAWHSE = '  1'
GROUP BY MAWHSE, MAAISL, MASLOT
ORDER BY MAAISL ASC```


  [1]: https://i.stack.imgur.com/NMXPy.png

帮助您变得容易-简化。