0
有兩列的表,carrier
和networktype
我想選擇載體,網絡類型和具有2個特定網絡類型且沒有其他網絡類型的行數。所以下面的表中給出SQL有兩種類型但不再有
Carrier NetworkType Count
302720 WIFI_11B_G 2
31000 NONE 1
31000 WIFI_11B_G 72
ATT EDGE 4
ATT HSPA 757
ATT UMTS 98
ATT WIFI_11B_G 163,511
BELL HSPA 3
BELL LTE 16
BELL NONE 57
BELL WIFI_11B_G 5,866
CHINAMOBILE NONE 2
CHINAMOBILE WIFI_11B_G 37
它應該只是返回:
31000 NONE 1
31000 WIFI_11B_G 72
CHINAMOBILE NONE 2
CHINAMOBILE WIFI_11B_G 37
下面是我跑
SELECT carrier, network_type, count(*) FROM mytable
GROUP BY carrier, network_type
HAVING SUM(CASE
WHEN network_type = 'NONE' THEN 1
WHEN network_type = 'WIFI_11B_G' THEN 1
ELSE 2
END) = 2
AND network_type IN ('NONE', 'WIFI_11B_G')
查詢,但它返回只具有完全相同2載體計數!所以例如302720與WIFI_11B_G,因爲它只有2個計數,但它沒有NONE類型。或者是沒有WIFI但沒有的CHINAMOBILE。
我想我在正確的軌道與條款,我想解決這個只是一個單一的查詢,沒有子查詢。謝謝!
你在說什麼?不管如果你想只返回'None'和'Wifi',那麼你不應該使用IN –