首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SQL创建indvidual列

使用SQL创建indvidual列
EN

Stack Overflow用户
提问于 2017-03-04 12:33:26
回答 1查看 71关注 0票数 1

我对sql很陌生,而且对这个包非常新手。SQL正在沃森DashDB中运行。在过去的几个小时里,我一直在努力寻找正确的代码。

  • 代码试图完成一些事情。
    1. 创建一个叫做“情感”的新观点
    2. 将两张桌子连接在一起
    3. 新的表格显示4列中有A. USER_SCREEN_NAME,B. Total,C.阳性情绪计数D.负面情绪计数

下面的代码只创建2列,我需要4。SPACEX_SENTIMENTS.SENTIMENT_POLARITY包含负和正。

代码语言:javascript
复制
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;
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-04 14:31:32

您的视图SENTIMENT每条推特有一行,有两列:用户名,然后是极性列。从您的评论中,我假设极性列可以具有“正”或“负”的值。我认为你可以通过这个查询得到你想要的东西:

代码语言:javascript
复制
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替换"

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42596070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档