2017-03-04 31 views
1

我是新來的sql和這個包非常新手。 SQL在Watson DashDB中運行。在過去的幾個小時裏,我一直在努力尋找正確的代碼。使用SQL創建個別列

  • 該代碼試圖完成一些事情。
    1. 創建一個名爲景氣
    2. 加入兩個表一起
    3. 有新的表展4列與A USER_SCREEN_NAME新的觀點,總B.鳴叫,C.模型正SENTIMENT計數D.消極情緒數

下面的代碼只創建2列,我需要4. SPACEX_SENTIMENTS.SENTIMENT_POLARITY同時包含Negative和Positive。

CREATE VIEW SENTIMENT 
AS 
(SELECT SPACEX_TWEETS.USER_SCREEN_NAME, SPACEX_SENTIMENTS.SENTIMENT_POLARITY 
FROM dash015214.SPACEX_TWEETS 
LEFT JOIN dash015214.SPACEX_SENTIMENTS ON 
SPACEX_TWEETS.MESSAGE_ID=SPACEX_SENTIMENTS.MESSAGE_ID); 

SELECT USER_SCREEN_NAME, COUNT(1) tweetsCount 
FROM dash015214.SENTIMENT 
GROUP BY USER_SCREEN_NAME 
HAVING COUNT (1)>1 
ORDER BY COUNT (USER_SCREEN_NAME) DESC 
FETCH FIRST 20 ROWS ONLY; 
+0

編輯您的問題,並提供樣本數據和預期結果。瞭解數據是什麼以及想要生成什麼是最好的開始。 –

回答

1

它看起來像你的觀點SENTIMENT具有每鳴叫一行,兩列:用戶名,然後極性色譜柱。從您的評論中,我認爲極性列可以具有'正面'或'負面'的值。我認爲你可以得到你想要的這個查詢的內容:

SELECT 
    USER_SCREEN_NAME, 
    COUNT(1) AS "Total Tweets", 
    COUNT(CASE SENTIMENT_POLARITY WHEN 'POSITIVE' THEN 1 ELSE NULL END) AS "Positive Tweets", 
    COUNT(CASE SENTIMENT_POLARITY WHEN 'NEGATIVE' THEN 1 ELSE NULL END) AS "Negative Tweets" 
FROM 
    SENTIMENT 
GROUP BY USER_SCREEN_NAME 
HAVING COUNT(1) > 1 
ORDER BY COUNT(1) DESC; 

這會給你每個人都至少有2鳴叫(是你想要的嗎?),並告訴你每個用戶有多少鳴叫的次數是積極的,有多少是消極的。將"替換爲用於指示列名稱的任何SQL。