首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SQL从特定日期选择活动

使用SQL从特定日期选择活动
EN

Stack Overflow用户
提问于 2019-04-01 22:15:59
回答 2查看 907关注 0票数 0

我想在Stack Overflow问题和答案数据集上查找特定一天提出的问题数。在2018-11-11有多少问题被问到?

代码语言:javascript
复制
how = """SELECT
  EXTRACT(DAY FROM DATE '2018-11-11') AS Day,
  EXTRACT(MONTH FROM DATE '2018-11-11') AS Month,
  EXTRACT(YEAR FROM DATE '2018-11-11') AS Year,
  COUNT(*) AS Number_of_Questions,
  ROUND(100 * SUM(IF(answer_count > 0, 1, 0)) / COUNT(*), 1) AS Percent_Questions_with_Answers
FROM
  `bigquery-public-data.stackoverflow.posts_questions`
GROUP BY
  Day
HAVING
  Day > 0 AND day < 12
ORDER BY
  Day;

    """


how = stackOverflow.query_to_pandas_safe(how)
how.head(12)

我使用的代码检索整个数据集中的所有问题,而不是在我选择的日期。如果我尝试用@@进行过滤,我会得到一个错误

EN

回答 2

Stack Overflow用户

发布于 2019-04-01 22:18:25

查询不会是这样的吗?

代码语言:javascript
复制
SELECT COUNT(*) AS Number_of_Questions
FROM `bigquery-public-data.stackoverflow.posts_questions`
WHERE DATE = DATE('2018-11-11');

编辑:

我看到这是一个公开的数据集。假设您指的是创建日期,则:

代码语言:javascript
复制
SELECT count(*)
FROM `bigquery-public-data.stackoverflow.posts_questions` pq
WHERE creation_date >= TIMESTAMP('2018-11-11') and
      creation_date < TIMESTAMP('2018-11-12') ;

这段代码是经过测试的,当我运行它时,它可以正常工作。

票数 4
EN

Stack Overflow用户

发布于 2019-04-02 00:01:13

下面是针对BigQuery标准SQL的说明

代码语言:javascript
复制
#standardSQL
SELECT
  DATE(creation_date) AS day,
  COUNT(*) AS Number_of_Questions,
  ROUND(100 * COUNTIF(answer_count > 0) / COUNT(*), 1) AS Percent_Questions_with_Answers
FROM `bigquery-public-data.stackoverflow.posts_questions` 
WHERE DATE(creation_date) BETWEEN '2018-11-01' AND '2018-11-11'
GROUP BY day
-- ORDER BY day

有结果

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

https://stackoverflow.com/questions/55457277

复制
相关文章

相似问题

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