簡體   English   中英

如何在select語句中選擇count()

[英]How to Select count() inside select statement

經過數小時的嘗試,我終於同意我需要幫助。

我正在嘗試從TableA中選擇一行,然后計算該行中不為空的單元格的數量。

我知道這是有問題的,但這傳達了我的意圖

SELECT COUNT(colName), 
    (SELECT (column1, column2, column3, column4) AS colName 
     FROM TableA 
     WHERE location= location) 
AS colCount
FROM TableA  
WHERE colName IS NOT NULL  

可能有一種隨意的方法,但蠻力的方法是:

SELECT
   location, 
    CASE WHEN column1 IS NULL THEN 0 ELSE 1 END + 
    CASE WHEN column2 IS NULL THEN 0 ELSE 1 END + 
    CASE WHEN column3 IS NULL THEN 0 ELSE 1 END + 
    CASE WHEN column4 IS NULL THEN 0 ELSE 1 END
   AS colCount 
 FROM TableA 

SQL演示

SELECT id, 
       (`column1` IS NOT NULL) + 
       (`column2` IS NOT NULL) + 
       (`column3` IS NOT NULL) as notnull
FROM Table1
select location,
    sum(case when column1 is not null then 1 else 0 end) +
    sum(case when column2 is not null then 1 else 0 end) +
    sum(case when column3 is not null then 1 else 0 end) +
    sum(case when column4 is not null then 1 else 0 end) cnt
from TableA
group by location

暫無
暫無

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

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