当前位置: 首页 > wzjs >正文

软件测试面试题夫唯seo

软件测试面试题,夫唯seo,智能建站制作,intellij 网站开发PGSQL基本使用 文章目录 PGSQL基本使用日期转换长度不够补数获取上下行取连续的开始和结束的值 日期转换 格式说明YYYY年MM月DD日hh2424小时制mi分钟ss秒 -- 日期字符串转指定日期字符串 -- 20250101123000 转为 2025-01-01 12:30:00 select to_char(to_timestamp(2025010112…

PGSQL基本使用

文章目录

  • PGSQL基本使用
  • 日期转换
    • 长度不够补数
    • 获取上下行
    • 取连续的开始和结束的值


日期转换

格式说明
YYYY
MM
DD
hh2424小时制
mi分钟
ss
-- 日期字符串转指定日期字符串
-- 20250101123000 转为 2025-01-01 12:30:00
select to_char(to_timestamp('20250101123000','YYYYMMDDhh24miss'),'YYYY-MM-DD hh24:mi:ss') as t;

长度不够补数

不足前面补数

-- 得到字符串 '09300000'
select lpad(cast(9300000 as text),8,'0') as t;

不足前面补数

-- 得到字符串 '15300000'
select lpad(cast(153000 as text),8,'0') as t;

获取上下行

获取上一行

-- 第一行 pre_name 为 nullselect *,lag(name) over ( order by rn) as pre_namefrom table-- 第一行 pre_name 为 ''
--说明: 1,第一行, '' 为第一行的值select *,lag(name,1,'') over ( order by rn) as pre_namefrom table

获取下一行

-- 最后一行 pre_name 为 nullselect *,lead(name) over ( order by rn) as pre_namefrom table-- 第一行 pre_name 为 ''
--说明: 1,最后一行, '' 为最后一行的值select *,lead(name,1,'') over ( order by rn) as pre_namefrom table

取连续的开始和结束的值

同一个账户,订单编号需要去除,5,9 。计算订单编号连续

-- 基础数据
with base as (select  1 as order_num, 'A01' as acct_idunion all select  2 as order_num, 'A01' as acct_idunion all select  3 as order_num, 'A02' as acct_idunion all select  4 as order_num, 'A02' as acct_idunion all select  5 as order_num, 'A02' as acct_idunion all select  6 as order_num, 'A02' as acct_idunion all select  7 as order_num, 'A01' as acct_idunion all select  8 as order_num, 'A01' as acct_idunion all select  9 as order_num, 'A01' as acct_idunion all select  10 as order_num, 'A01' as acct_idunion all select  11 as order_num, 'A01' as acct_id),-- 根据acct_id分组,根据order_num排序
base_order as (select *, row_number() over (partition by acct_id order by order_num) as rn from base
),
-- 获取上下行的rn
-- lag(rn,1,null) 表示第一行的 rn值为空
-- lead(rn,1,null) 表示最后一行的 rn值为空
base_rn as (
select *,lag(rn,1,null) over (partition by acct_id order by order_num) as pre_rn,lead(rn,1,null) over (partition by acct_id order by order_num) as next_rn
from base_order
where order_num != 5 and order_num != 9
),
-- 计算acct_id连续的 order_num
base_link as (
select *,case when pre_rn is null or pre_rn + 1 != rn then  order_num else null end as start_order_num, /**连续的开始*/case when next_rn is null or next_rn -1 != rn then order_num else null end as end_order_num, /**连续的结束*/sum(case when pre_rn is null or pre_rn + 1 != rn then 1 else 0 end) over (partition by acct_id order by order_num) as link_cnt /**连续的分为一组*/
from base_rn
)
-- 获取连续的开始订单编号和对应的结束订单编号
select max(start_order_num) as start_order_num,max(end_order_num) as end_order_num, acct_id
from base_link
group by acct_id, link_cnt

得到结果

start_order_numend_order_numacct_id
12A01
34A02
66A02
78A01
1011A01
http://www.dtcms.com/wzjs/309057.html

相关文章:

  • 做平台交易网站怎么收款品牌营销策划方案怎么做才好
  • 零食店网站建设计划书广州知名网络推广公司
  • 网站丢失怎么解决公司网站的推广
  • 如何做一个好网站广州网站优化费用
  • 提供企业网站建设网站优化排名软件网
  • 十大网站建设排名国际新闻网站
  • 定制美瞳网站建设建立个人网站
  • 沈阳做网站有名公司百度免费
  • 音乐中文网站模板外链购买交易平台
  • 自己做免流网站线上运营推广方案
  • 主流网站开发软件网络营销品牌公司
  • 网站模板全屏如何发布自己的网站
  • 网站建设与管理心得体会和总结公司网站建设多少钱
  • 怎么在58上做公司网站企业推广策略
  • 做网站销售的话术廊坊百度推广电话
  • 如何做公司的网站建设奉化首页的关键词优化
  • 承德百度网站建设广州市最新消息
  • 通化县住房和城乡建设局网站整站优化多少钱
  • 鼎豪网站建设广州seo团队
  • 公司做网站需要给百度交钱吗seo承诺排名的公司
  • 武汉网站设计的学校seo平台代理
  • 上海网站建设百家号产品推广计划书怎么写
  • 百姓网官网首页排名优化是怎么做的
  • 房产中介网站开发与设计代码百度小说排行榜完本
  • 互联网网站设计网站发布与推广怎么写
  • 网站建设服务合同书怎么弄一个自己的网址
  • 富民网站建设优化网站收费标准
  • 商城建站系统百度在线使用网页版
  • 网站虚拟服务器重庆搜索排名提升
  • 企业建设网站专业服务互联广告精准营销