2017-02-23 98 views
-2

我想算中存在的2列像同行數相同值兩列

Column A Column B 
1    5 
5    6 
4    1 
5    4 

不同的價值如何才能得到答案:4,因爲只有四兩列不同的值。

能否請您指導我如何查詢申請(非重複計數在Club1和Club2)

SELECT COUNT(DISTINCT registrationevent.RegistrationNo)AS TotalRegistration,SUM(IF((registrationevent.Spouse = 1),1 ,0))AS CoupleRegistration,Count(DISTINCT registration.Club)AS Club1,統計(獨特註冊.SpouseClub)俱樂部2 FROM(registrationevent)註冊登記註冊事項。註冊否=註冊。註冊號

+0

'count distinct same value' - 你能澄清一點嗎? – GurV

+0

從兩列中計算不同的值。 – Sanjeev

+0

[我如何(或者可以)在多列上選擇DISTINCT?](http://stackoverflow.com/questions/54418/how-do-i-or-can-i-select-distinct-on -multiple-columns) –

回答

1

AFAIK聯盟本身不同:

SELECT A 
FROM tab 
UNION 
SELECT B 
FROM tab 

或 - 你似乎是有意只計數:

SELECT COUNT(*) 
FROM 
    (
    SELECT A 
    FROM tab 
    UNION 
    SELECT B 
    FROM tab 
) AS C 
+0

謝謝回覆 – Sanjeev

+0

能否請您指導我如何在此查詢申請(非重複計數在Club1和Club2) SELECT COUNT(DISTINCT registrationevent.RegistrationNo)AS TotalRegistration, SUM(IF((registrationevent.Spouse = 1 ),1,0))AS CoupleRegistration, 計數(DISTINCT registration.Club)AS Club1, 計數(不同registration.SpouseClub)作爲Club2 FROM(registrationevent) JOIN登記ON registrationevent.RegistrationNo = registration.RegistrationNo – Sanjeev

1

你的意思是這樣?

select count(*) 
from (
    select distinct * from t 
) t 
+0

我想要這樣,但其他一些數列在那裏,它會影響像在同一個表註冊,性別等字段在那裏,我想統計所有在同一個查詢 – Sanjeev

+0

@Sanjeev - 使用星號來選擇不同的所有列或如果你想選擇其中的一些,在子查詢中明確提及它們)。更新了答案。 – GurV

+0

能否請您指導我如何在此查詢申請(非重複計數在Club1和Club2) SELECT COUNT(DISTINCT registrationevent.RegistrationNo)AS TotalRegistration, SUM(IF((registrationevent.Spouse 1),1 =, 0))AS CoupleRegistration, 計數(DISTINCT registration.Club)AS Club1, 計數(不同registration.SpouseClub)作爲Club2 FROM(registrationevent) JOIN登記ON registrationevent.RegistrationNo = registration.RegistrationNo – Sanjeev