题解 | 广告点击的高峰期,窗户口函数解法兼时间函数总结

广告点击的高峰期

https://www.nowcoder.com/practice/6756d65784f9413b8505c1d0c6754b3a

select click_hour, click_cnt
from (
    select hour(click_time) click_hour,
    count(*) click_cnt,
    dense_rank() over(order by count(*) desc) click_rank
    from user_ad_click_time
    group by click_hour
)t
where click_rank = 1

1. 获取当前日期的函数

  • CURDATE():这是 MySQL 中用于获取当前日期的函数,返回值的格式为YYYY-MM-DD。例如在 MySQL 中执行SELECT CURDATE(); ,若当前日期是 2025 年 10 月 21 日 ,则返回2025-10-21
  • CURRENT_DATE() :功能与CURDATE()相同,也是获取当前日期,在 MySQL、PostgreSQL 等数据库中都可以使用。
  • CURRENT_DATE:是CURRENT_DATE()的简化写法 ,作用一样,用于获取当前日期。

2. 获取当前时间的函数

  • CURTIME():在 MySQL 中,该函数用于获取当前时间,返回值格式为HH:MM:SS 。比如执行SELECT CURTIME(); ,如果当前时间是 14 点 30 分 15 秒 ,则返回14:30:15
  • CURRENT_TIME():在 MySQL、PostgreSQL 等数据库中都可使用,用于获取当前时间。
  • CURRENT_TIME:是CURRENT_TIME()的简写形式,用于获取当前时间。

3. 获取当前日期和时间的函数

  • CURRENT_TIMESTAMP():MySQL、PostgreSQL 等数据库都支持该函数,返回当前日期和时间,格式通常是YYYY-MM-DD HH:MM:SS。例如在 MySQL 中执行SELECT CURRENT_TIMESTAMP();, 若当前是 2025 年 10 月 21 日 14 点 30 分 15 秒 ,则返回2025-10-21 14:30:15
  • CURRENT_TIMESTAMPCURRENT_TIMESTAMP()的简化写法,功能一致。
  • LOCALTIME():在 MySQL 中,该函数返回当前的日期和时间,和CURRENT_TIMESTAMP()类似。
  • LOCALTIMELOCALTIME()的简写形式,返回当前日期和时间。
  • LOCALTIMESTAMP():在 MySQL 等数据库中,用于返回当前的日期和时间。
  • LOCALTIMESTAMP:是LOCALTIMESTAMP()的简写,作用是获取当前日期和时间。
  • NOW():MySQL 中常用,返回当前日期和时间,格式为YYYY-MM-DD HH:MM:SS
  • SYSDATE():MySQL 中使用,返回执行该函数时的日期和时间,与NOW() 不同的是,NOW()返回的是语句开始执行的时间,而SYSDATE()返回的是函数执行的实时时间。

4. 日期和时间运算函数

  • DATEDIFF(d1,d2):用于计算两个日期之间的差值,返回值是两个日期相差的天数,在 MySQL 等数据库中可用。例如SELECT DATEDIFF('2025-10-25', '2025-10-21'); ,结果为4
  • TIMEDIFF(t1,t2):在 MySQL 中使用,计算两个时间的差值,返回结果的格式是HH:MM:SS 。比如SELECT TIMEDIFF('15:30:00', '14:30:00'); ,返回01:00:00
  • TIMESTAMPDIFF(interval,d1,d2):可以计算两个日期或时间之间的差值,差值的单位由interval参数指定,interval可以是YEAR(年)、MONTH(月)、DAY(日)、HOUR(小时)等。例如SELECT TIMESTAMPDIFF(HOUR, '2025-10-21 12:00:00', '2025-10-21 15:00:00'); ,结果为3

5. 日期和时间的格式化函数

DATE_FORMAT(date,format):在 MySQL 中使用,用于将日期按照指定的格式进行格式化输出。format参数中,常见的占位符含义如下:

  • y:两位数的年份,如25
  • Y:四位数的年份,如2025
  • M:英文月份全称,如October
  • m:两位数字表示的月份,01-12
  • W:英文星期全称,如Tuesday
  • w:数字表示的星期,0(星期日) - 6(星期六)。
  • H:24 小时制的小时数,00-23
  • h:12 小时制的小时数,01-12
  • S:两位数字表示的秒数,00-59
  • s:功能同S ,表示两位数字的秒数。

例如,SELECT DATE_FORMAT('2025-10-21 14:30:15', '%Y-%m-%d %H:%i:%s'); ,返回2025-10-21 14:30:15 ,这里%i%m类似,都表示分钟。

全部评论

相关推荐

累死的一条狗:***一人顶10人那你给我发10个人的工资总和吗
点赞 评论 收藏
分享
02-04 12:01
九江学院 C++
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务