2015-10-16 18 views
0

大家好,我是一個SQL noob,無法弄清楚這一點,不知道我需要尋找術語才能明白,所以即使只是適當的術語來研究也會有很大的幫助。查詢術語用於分組並查找大於3的數字的差異?

這就是說,這裏是我需要查詢表: Port Table

與該表我需要能夠找出哪些國家有兩個以上的端口,並且這些端口都相差較多超過3個碼頭。

的數據應該被格式化成這樣: Final Query Format

+0

第一課:試試簡單的SELECT。嘗試使用WHERE子句和ORDER BY。 – jarlh

+0

嘗試給出ASCII格式表或在http://sqlfiddle.com/中創建表和插入語句 – Utsav

回答

0

關於第一個問題,哪些國家有兩個以上的端口,你現在可以使用像

SELECT COUNTRY FROM TABLENAME GROUP BY COUNTRY HAVING COUNT(PORTNAME) > 2 

這個結果,你必須找到「哪些港口有超過3個碼頭的差異。」 所以,你可以寫成像

SELECT A.PORTNAME AS FIRSTPORT, A.NUMDOCKS AS FIRSTNUM, 
    B.PORTNAME AS SECONDPORT, B.NUMDOCKS AS SECONDOCKS, 
    A.COUNTRY 
FROM TABLENAME AS A, 
    TABLENAME AS B, 
    (SELECT COUNTRY FROM TABLENAME GROUP BY COUNTRY HAVING COUNT(PORTNAME) > 2) AS C 
WHERE A.COUNTRY = C.COUNTRY 
AND B.COUNTRY = C.COUNTRY 
AND 3 < (A.NUMDOCKS - B.NUMDOCKS)