gpt4 book ai didi

sql - 如何对计算列进行分组?

转载 作者:行者123 更新时间:2023-12-02 22:35:03 25 4
gpt4 key购买 nike

假设下表有 3 个数字字段:

Images (table)
--------------
Width
Height
Amount

宽度和高度是以毫米为单位的图像尺寸。现在我想创建一个关于按尺寸(以厘米为单位)分组的图像数量的报告。这意味着我必须按 2 个不存在的列进行 GROUP BY。

我能做到:

SELECT      ROUND(Width/10,0)   AS W
, ROUND(Height/10,0) AS H
, SUM(Amount) AS A
FROM IMAGES
GROUP BY Width
, Height
ORDER BY W
, H
, A

但这只会在 View 级别进行毫米到厘米的转换,并且会导致相同尺寸出现多行。

例如

 W   H  A
--- --- -
150 159 2
150 160 1

不会产生 1 个类别

W  H  A
-- -- -
15 16 3

但是在

W  H  A
-- -- -
15 16 2
15 16 1

目标引擎实际上是一个 FileMaker 数据库,不幸的是它似乎不支持 GROUP BY 子句中的聚合函数。

最佳答案

只需GROUP BY您的计算列即可:

SELECT 
ROUND(Width/10,0) as W
,ROUND(Height/10,0) as H
,COUNT(*) as A -- You may replace this with SUM(Amount) too
FROM
IMAGES
GROUP BY
ROUND(Width/10,0)
,ROUND(Height/10,0)
ORDER BY
W
,H
,A

编辑:另外,根据我对你问题的理解,你想要的是 COUNT 而不是行的 SUM...,对吧?

关于sql - 如何对计算列进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10399067/

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