簡體   English   中英

SQL Server計數使用偏移量來區分

[英]SQL SERVER count distinct using Offset

使用此查詢:

SELECT ID,Make,Model 
FROM cars 
WHERE active='true'  
ORDER BY make ASC, model ASC 
OFFSET 0 ROWS FETCH NEXT 5 ROWS ONLY;

我得到了這個結果:

ID          Make         Model
26800911    AIXAM       CROSSLINE
26796643    AIXAM       PREMIUM
26700448    ALFA ROMEO  145
26796420    ALFA ROMEO  147
26480721    ALFA ROMEO  147

如何編寫查詢從該結果中獲取每個make的計數? 所以我需要AIXAm = 2,Alfa Romeo = 3

選擇一個返回所有結果而沒有偏移限制

SELECT make,SUM(CASE WHEN active='true' THEN 1 ELSE 0 END) 
FROM cars 
WHERE active='true' 
GROUP BY make 
ORDER BY make ASC;

SELECT make,Count(make) 
FROM cars 
WHERE active='true' 
GROUP BY make 
ORDER BY make ASC;

SELECT TOP 5 make,SUM(CASE WHEN active='true' THEN 1 ELSE 0 END) 
FROM cars 
WHERE active='true' 
GROUP BY make 
ORDER BY make ASC;

全部歸還不是我需要的

AIXAM       2
ALFA ROMEO  106
ALPINA      1
AUDI        686
BMW         557

您可以嘗試使用子查詢:

SELECT q.Make, Count(q.ID)
FROM
(
SELECT ID,Make,Model 
FROM cars 
WHERE active='true'  
ORDER BY make ASC, model ASC 
OFFSET 0 ROWS FETCH NEXT 5 ROWS ONLY
) AS q
GROUP BY q.make
ORDER BY q.make ASC;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM