gpt4 book ai didi

mysql - 创建填充有日期并左连接到 `created_at` 列的临时表 - MySQL

转载 作者:行者123 更新时间:2023-11-30 00:46:50 25 4
gpt4 key购买 nike

原始查询:

// Doesn't return dates with zero value

SELECT UNIX_TIMESTAMP( created_at ) AS DATE, COUNT( tweet_id ) AS count
FROM `tweets`
WHERE DATE( created_at ) > '2012-11-01'
AND DATE( created_at ) <= DATE( NOW( ) )
GROUP BY DATE

修改后的查询:

// Attempting to return all dates with a value of zero if doesn't exist in `created_at` column

CREATE TEMPORARY TABLE DateSummary1 ( date timestamp ) SELECT DISTINCT(DATE(created_at)) as date FROM tweets;
CREATE TEMPORARY TABLE DateSummary2 ( date timestamp, number int ) SELECT DATE(created_at) as date, count(*) AS number FROM tweets WHERE DATE(created_at) > '2012-11-01' AND DATE(created_at) <= DATE(NOW()) GROUP BY DATE(created_at) ORDER BY created_at ASC;
SELECT ds1.date,ds2.number FROM DateSummary1 ds1 LEFT JOIN DateSummary2 ds2 on ds1.date=ds2.date;

不幸的是,后一个结果没有像我预期的那样为我提供零值的日期。我在忽略什么?我确信这是一个逻辑错误,但我不确定我的逻辑错在哪里。我已经阅读了 SO、Google 等上的大量帖子,但不知道如何克服这最后的障碍。

使用 jcho360 建议返回的时间戳的示例:

1387286811
1387286812
1387286813
1387286815
1387286820

最佳答案

试试这个

SELECT UNIX_TIMESTAMP( created_at ) AS DATE, COUNT( tweet_id ) AS count
FROM `tweets`
WHERE (DATE( created_at ) > '2012-11-01'
AND DATE( created_at ) <= DATE( NOW( ) ) )
or DATE( created_at ) = date ('000-00-00') //I added this Line
GROUP BY DATE

关于mysql - 创建填充有日期并左连接到 `created_at` 列的临时表 - MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21293742/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com