首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL dateadd和datediff

SQL dateadd和datediff
EN

Stack Overflow用户
提问于 2017-03-07 15:32:28
回答 4查看 977关注 0票数 1

我正在尝试编写一条SQL语句,它将返回每天的记录数。

这是我的桌子

代码语言:javascript
复制
id |      ip       |       date
----------------------------------------
1   136.196.41.91   2017-01-01 11:08:14
2   28.158.146.198  2017-01-01 11:08:15
3   209.140.42.236  2017-01-01 11:08:16
4   241.184.227.171 2017-01-02 11:08:17
5   6.183.99.169    2017-01-02 11:08:18
6   105.18.254.15   2017-01-03 11:08:19

预期结果类似于:

代码语言:javascript
复制
2017-01-01: 3
2017-01-02: 2
2017-01-03: 1

我正试着这样做。

代码语言:javascript
复制
select date, count(id)
from demo
WHERE date >=dateadd(day,datediff(day,0,GetDate())-7,0)
GROUP BY date

但是由于某些原因,我在"phpmyadmin“中得到这个错误

代码语言:javascript
复制
Error

SQL query: Documentation

select date, count(id)
from demo
WHERE date >=dateadd(day,datediff(day,0,GetDate())-7,0)
GROUP BY date LIMIT 0, 25

MySQL said: Documentation
#1582 - Incorrect parameter count in the call to native function 'datediff'

我找不到我做错了什么。

我想它可能来自日期格式,所以我将其更改为仅日期,但没有运气。

请给我建议。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2017-03-07 16:31:26

试试这个

代码语言:javascript
复制
SELECT DATE(`date`), count(*) FROM demo
GROUP BY DATE(`date`)
-- here your ordering criteria
LIMIT 0, 25
票数 1
EN

Stack Overflow用户

发布于 2017-03-07 15:37:16

MySQL中,DATEDIFF函数只接受两个参数:

代码语言:javascript
复制
DATEDIFF(date1, date2)

将像date1-date2一样返回date1和Date2之间的差值。

See w3schools.com/sql/func

票数 1
EN

Stack Overflow用户

发布于 2017-03-07 16:15:08

检查这是否有帮助,

select date(date), count(*) from demo group by date(date);

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

https://stackoverflow.com/questions/42642646

复制
相关文章

相似问题

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