簡體   English   中英

COUNT()函數和帶有多列DISTINCT的SELECT

[英]COUNT() function and SELECT with DISTINCT on multiple columns

希望有人可以幫助我弄清楚為什么我在這里遇到語法錯誤。 我正在計算具有兩個不同列值的所有行。

select count (*) as 'Distinct' from (
    select distinct p.IDD, p.num
    from PERF1 p
    inner join MAST1 m
    on (m.id_table = p.id_table and m.SOURCE_TABLE = p.SOURCE_TABLE)
    where m.DATE > '2012-12-31' )

我在最后一個括號中遇到了一個錯誤,但是我一生無法確定我在這里做錯了什么。 ...............................

有點大的“編輯”,但我有點卡住了。 我以為該查詢將計算該表中不同行(對於兩列)的數量。 因此,例如,由於重復了“ P”和“ T”,因此計數應返回6。 我以為是這樣的:

select count (*) as 'Distinct' from (
select distinct p.IDD, p.co
from PERF1 p
inner join MAST1 m
on (m.id_table = p.id_table and m.SOURCE = p.SOURCE)
where m.DATE > '2012-12-31' ) TempTable

但是我得到的數字比我想的要多得多,所以我希望查詢不正確。

+------+------+
| IDD  | CO   |
+------+------+
| 11   | P    |
| 12   | P    |
| 13   | T    |
| 14   | T    |
| 15   | R    |
| 16   | S    |
| 17   | U    |
| 18   | K    |

您需要為子查詢添加別名

select count (*) as 'Distinct' from (
    select distinct p.IDD, p.num
    from PERF1 p
    inner join MAST1 m
    on (m.id_table = p.id_table and m.SOURCE_TABLE = p.SOURCE_TABLE)
    where m.DATE > '2012-12-31' ) TempTable

暫無
暫無

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

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