我試圖在同一個查詢結果中獲得一個id,和一個count。 問題是當記錄不存在時,計數回傳空,而不是0
。這是查詢的結果
SELECT DISTINCT Id
,(
SELECT count(*)
FROM table1
WHERE reference_id = 300000009798620FROM table1
WHERE reference_id = 300000009798620;
uj5u.com熱心網友回復:
只要使用:
SELECT max(id) as id。count(*)
FROM table1
WHERE reference_id = 300000009798620
uj5u.com熱心網友回復:
請嘗試以下修改后的查詢
SELECT 300000009798620 as reference_id。count(*)
FROM table1 WHERE reference_id = 300000009798620
uj5u.com熱心網友回復:
這可以嗎?
這可以嗎?
table1CTE代表你的表;我簡化了REFERENCE_ID。兩行共享相同的reference_id值(1),有兩個不同的ID列值(1和2)temp1選擇ID為par_reference_id引數值 。
temp2對par_reference_id的行進行計數。
第一次執行回傳something作為par_reference_id = 1(計數為2):
SQL>/span> with
2 table1 (id, reference_id) as
3 --這代表你的TABLE1(但reference_id更簡單)。
4 (select 1, 1 from double union all
5 select 2, 1 from dual)。)
6 temp_1 as
7 --每個所需的reference_id都有不同的ID。
8 (select distinct id
9 from table1
10 where reference_id = &&/span>par_reference_id
11 )。)
12 temp_2 as
13 --該reference_id的行數。
14 (select count(*) cnt
15 from table1
16 where reference_id = &&/span>par_reference_id
17 )
18 -- 和最后:
19 select b.id, a.cnt
20 from temp_2 a left join temp_1 b on 1 = 1;
輸入value for par_reference_id。1
ID CNT
----------
1 2
2 2
讓我們試試其他的reference_id值(在table1中不存在),例如100:查詢沒有回傳任何ID,但是count = 0(如你所想):
SQL>/span> undefine par_reference_id
SQL> / 取消定義par_reference_id。
輸入value for par_reference_id。100
ID CNT
----------
0
SQL>/span>
uj5u.com熱心網友回復:
你可以使用DUAL來獲得一個帶有你的ID的行,然后用子查詢來獲得計數。
SELECT 300000009798620 AS id,
(SELECT COUNT (*)
FROM table1
WHERE reference_id = 300000009798620) AS amt
FROM DUAL;
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/307793.html
標籤:
下一篇:Dax函式中的powerbi整列
