PostgreSQL实现按年、月、日、周、时、分、秒的分组统计

按年查询

select to_char(date::DATE, 'YYYY') as year,sum(shares) as shares, sum(visits) as visits
from database_table
where date >= '2019-01-01' and  date <= '2020-01-01'  group by year order by year

按月查询

select to_char(date::DATE, 'YYYY-MM') as month,sum(shares) as shares, sum(visits) as visits
from database_table
where date >= '2019-01-01' and  date <= '2020-01-01'  group by month order by month

按周查询

select to_char(date::DATE-(extract(dow from date::TIMESTAMP)-1||'day')::interval, 'YYYY-mm-dd') week,
sum(shares) as shares, sum(visits) as visits
from database_table
where date >= '2019-01-01' and  date <= '2020-01-01' group by week order by week

按天查询

select to_char(date::DATE, 'YYYY-MM-DD') as day,sum(shares) as shares, sum(visits) as visits
from database_table
where date >= '2019-01-01' and  date <= '2020-01-01'  group by day order by day

按小时查询

select to_char(date::DATE, 'YYYY-MM-DD  HH24') as hour,sum(shares) as shares, sum(visits) as visits
from database_table
where date >= '2019-01-01' and  date <= '2020-01-01'  group by hour order by hour

按分钟查询

select to_char(date::DATE, 'YYYY-MM-DD  HH24:MI ') as minute,sum(shares) as shares, sum(visits) as visits
from database_table
where date >= '2019-01-01' and  date <= '2020-01-01'  group by minute order by minute

按秒查询

select to_char(date::DATE, 'YYYY-MM-DD  HH24:MI:SS ') as second,sum(shares) as shares, sum(visits) as visits
from database_table
where date >= '2019-01-01' and  date <= '2020-01-01'  group by second order by second

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • Postgresql 动态统计某一列的某一值出现的次数实例

    实例解析: select to_char(log.date, 'yyyy-MM-dd HH24') as hour, log.exten, sum(case log.grade when '1' then 1 else 0 end) as "1", sum(case log.grade when '2' then 1 else 0 end) as "2", sum(case log.grade when '3' then 1 else 0 end) as "

  • postgresql 实现查询某时间区间的所有日期案例

    核心sql如下: select daytime::date from generate_series( ('2017-06-01'),--查询开始日期(可根据需求调整) (select now()::date),--查询结束日期(可根据需求调整) '1 day'--间隔(可根据需求调整) ) s(daytime) 以上sql,得到结果为从6月1号到今天这个时间区间内的每天的日期,如下: 举例说明: 查询tableA所有time_period区间内的日期,time_period的数据格式为:201

  • postgresql 计算时间差的秒数、天数实例

    处理时间时用到了,记录一下. 时间差天数 select '2017-12-10'::date - '2017-12-01'::date; 时间差秒数 select extract(epoch FROM (now() - (now()-interval '1 day') )); select trunc(extract(epoch FROM (now() - (now()-interval '1 day') ))::numeric); select trunc(extract(epoch FROM

  • postgresql数据库使用说明_实现时间范围查询

    按照日期查询通常有好几种方法: 按照日期范围查询有好几种方法,日期字段类型一般为: Timestamp without timezone 方法一: select * from user_info where create_date >= '2015-07-01' and create_date < '2015-08-15'; 方法二: select * from user_info where create_date between '2015-07-01' and '2015-08-15';

  • postgreSql分组统计数据的实现代码

    1. 背景 比如气象台的气温监控,每半小时上报一条数据,有很多个地方的气温监控,这样数据表里就会有很多地方的不同时间的气温数据 2. 需求: 每次查询只查最新的气温数据按照不同的温度区间来分组查出,比如:高温有多少地方,正常有多少地方,低温有多少地方 3. 构建数据 3.1 创建表结构: -- DROP TABLE public.t_temperature CREATE TABLE public.t_temperature ( id int4 NOT NULL GENERATED ALWAYS

  • js将当前时间格式化为 年-月-日 时:分:秒的实现代码

    利用js的Date()对象,将系统当前时间格式化为年-月-日 时:分:秒.也可以自己定义格式.(做项目时遇到这个问题.本来想百度一个用,哎,网上的结果太乱了,于是自己写一个) 代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Time</title> </head> <body

  • jQuery 实现倒计时天,时,分,秒功能

    1.HTML部分 <span class="joind">135</span>天<span class="joinh">7</span>时<span class="joinm">46</span>分<span class="joins">25</span>秒 2.js部分 <script src="https://c

  • js计算两个时间差 天 时 分 秒 毫秒的代码

    具体代码如下所述: // 计算两个时间差 dateBegin 开始时间 function timeFn(dateBegin) { //如果时间格式是正确的,那下面这一步转化时间格式就可以不用了 var dateEnd = new Date();//获取当前时间 var dateDiff = dateEnd.getTime() - dateBegin;//时间差的毫秒数 var dayDiff = Math.floor(dateDiff / (24 * 3600 * 1000));//计算出相差天

  • PostgreSQL实现按年、月、日、周、时、分、秒的分组统计

    按年查询 select to_char(date::DATE, 'YYYY') as year,sum(shares) as shares, sum(visits) as visits from database_table where date >= '2019-01-01' and date <= '2020-01-01' group by year order by year 按月查询 select to_char(date::DATE, 'YYYY-MM') as month,sum(

  • js操作时间(年-月-日 时-分-秒 星期几)

    var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31) myDate.getDay(); //获取当前星期X(0-6,0代表星期天) myDate.getTime(); //获取当前时间(从1970.1.1开

  • PHP获取指定时间段之间的 年,月,天,时,分,秒

    核心代码: Class Utils { /** * format MySQL DateTime (YYYY-MM-DD hh:mm:ss) 把mysql中查找出来的数据格式转换成时间秒数 * @param string $datetime */ public function fmDatetime($datetime) { $year = substr($datetime,0,4); $month = substr($datetime,5,2); $day = substr($datetime,

  • Javascript 倒计时源代码.(时.分.秒) 详细注释版

    随便写写!闲着无聊!代码如有bug之处欢迎阁下强力拍砖! JS CODE 复制代码 代码如下: <script type="text/javascript" language="javascript"> //总时间,已分为单位 var time = 100; //小时 var h = parseInt(time / 60) > 0 ? parseInt(time / 60) : 0; //分 var m = time % 60; //秒 var s

  • jquery 显示*天*时*分*秒实现时间计时器

    1.用jquery实现时间计时器,从之前的某个时间段到现在距离多少天多少时多少分多少秒? html代码: 复制代码 代码如下: <div id="times_wrap" class="time_num"> 距离现在时间: <div class="time_w"> <span id="time_d" class="time"> </span >天 <spa

  • 探讨:如何使用PHP实现计算两个日期间隔的年、月、周、日数

    使用PHP实现计算两个日期间隔的年.月.周.日数: 复制代码 代码如下: <?php    function format($a,$b){        //检查两个日期大小,默认前小后大,如果前大后小则交换位置以保证前小后大        if(strtotime($a)>strtotime($b)) list($a,$b)=array($b,$a);        $start  = strtotime($a);        $stop   = strtotime($b);       

  • Java实现“年-月-日 上午/下午时:分:秒”的简单代码

    如何借助SimpleDateFormat类实现"年-月-日 上午/下午时:分:秒"日期的格式化: import java.text.SimpleDateFormat; import java.util.Date; public class Test { public static void main(String[] args) { System.out.println(new SimpleDateFormat("yyyy-MM-dd ahh:mm:ss").for

随机推荐