【发布时间】:2023-01-13 05:56:01
【问题描述】:
你好,我正在尝试计算每个范围内的值,例如在我的 DURATION_IN_MS 列中的 115000 - 120000 之间。
我的专栏看起来像这样:
119631
120689
143498
119798
WITH tab1 AS(
SELECT TOP 30 *
FROM MACHINE_PROCESSING_DURATION_EVALUATION
WHERE START_TIMESTAMP BETWEEN '2022-11.10 00:00:00.000' AND '2022-11.10 22:00:00.000')
SELECT(
case
when DURATION_IN_MS BETWEEN 115000 AND 120000 THEN '115000-120000'
when DURATION_IN_MS BETWEEN 120000 AND 125000 THEN '120000-125000'
else 'OTHERS'
END) AS DURATION_IN_MS,
COUNT(*) AS cnt
from tab1
GROUP BY DURATION_IN_MS
my output is like this:
[enter image description here][1]
however, for the range 115000-120000 i wanted to show the count of 8
for the range 120000-125000 i wanted to show the count of 6
Can someone help me ?
【问题讨论】:
-
TOP是 SQL Server 语法;您是否正确标记了您的问题。 -
你真的想要 120000 被算作它之前的范围和之后的范围吗?通常你会制作像'120000-124999'或'120001-125000'这样的范围
-
select @@version;显示什么? -
欢迎来到 SO。感谢您尝试提出问题。您描述的列与计数的描述不符。也请不要包括图片,文字要好得多。