首页 > 数据库 >sql数据练习

sql数据练习

时间:2023-02-02 10:03:55浏览次数:47  
标签:group String sum 练习 user sql 数据 id select


---组内排名
select *from (
select brank,keyword,sum(price) as `营业额` ,dense_rank() over (partition by keyword order by sum(price) desc) as `排名`
from CityRecord group by brank,keyword )t1
where `排名`<=10
--if匹配语句
select item_id, sum(if(flag==1,1,0)) as `浏览人数`,sum(if(flag==2,1,0))as `收藏人数`,
sum(if(flag==3,1,0)) as `订单人数`,sum(if(flag==4,1,0)) as `付款人数`,(`付款人数`/`浏览人数`) as `转化率` from UserBea
group by item_id
order by `转化率` desc
--查询每日新增的用户 
select count(user_id) as `新增人数` ,toDate(`日期`) as `日期` from(
select user_id,MIN(times) as `日期` from UserBea ub2 where user_id in(
select DISTINCT user_id from UserBea)
group by user_id
)group by `日期`
--查询七天内活跃用户
select user_id ,count(`日期`) as `登陆次数`from(
select user_id, toYYYYMMDD(toDate(times)) AS `日期` from UserBea
where `日期`<=toYYYYMMDD(now()) and (toYYYYMMDD(now())-8)<`日期`)
group by user_id
having `登陆次数`>=10
--查询七天内连续登陆的用户
select user_id ,count( DISTINCT `日期`) as `七天登陆次数` from (
select user_id, toYYYYMMDD(toDate(times)) AS `日期` from UserBea
where `日期`<=toYYYYMMDD(now()) and (toYYYYMMDD(now())-7)<`日期`)t1
group by user_id
having `七天登陆次数`=7
--建表语句一 
CREATE TABLE alibaba.UserBea
(

`user_id` Int64,

`cate_id` Int32,

`item_id` Int32,

`times` Int64,

`ip` String,

`flag` Int8
)
ENGINE = MergeTree
ORDER BY user_id
SETTINGS index_granularity = 8192;

--建表语句二
CREATE TABLE alibaba.CityRecord
(

`user_id` String,

`item_id` String,

`cate_id` String,
`order_id` String,

`times` Int64,

`name` String,

`keyword` String,

`factory` String,

`price` Float32,

`pro` String,

`city` String,

`par` String,
`brank` String
)
ENGINE = MergeTree
ORDER BY user_id
SETTINGS index_granularity = 8192;

标签:group,String,sum,练习,user,sql,数据,id,select
From: https://blog.51cto.com/u_15063934/6032808

相关文章

  • flinksql的初始化
    Mavn的依赖<properties><java.version>1.8</java.version><maven.compiler.source>${java.version}</maven.compiler.source><maven.compiler.targ......
  • Mysql的锁机制
    Mysql的锁机制是除了Mysql的MVCC机制外,解决并发过程的幻读等问题的另外的方案,当然性能比mvcc机制较低,因为不允许读写操作并列执行,但是一些特殊机制,必须使用Mysql的锁方案锁......
  • 【Servlet】Response的OutputStream与Writer输出数据乱码的问题
      OutputStream输出中文数据乱码问题解决方式: packagecn.lsh.servlet;importjava.io.IOException;importjava.io.OutputStream;importjavax.servlet.Se......
  • Java Socket通信(一)之客户端程序 发送和接收数据
     JavaSocket通信(一)之客户端程序发送和接收数据网络应用分为客户端和服务端两部分,而Socket类是负责处理客户端通信的Java类。通过这个类可以连接到指定IP或域名的服务......
  • sql基本知识
    当我在将大小写忽略的时候之前使用大写的数据库的名字就进不去了,因为系统自动将我打的大写换成了小写.....每一个检查点都会记录他自己的操作对象的信息状态,当共用的是......
  • mysqldump 与 mysqlpump
    简介:mysqldump与mysqlpump都是mysql自带的备份工具。mysqlpump是mysqldump的一个衍生,本身也参考了mydumper的思路,支持了并行导出数据,因此导出数据的效率比mysqldu......
  • Springboot数据库配置文件加密
    引入工具依赖包:!--配置文件加密--><dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><version>1.......
  • 《SQL基础》08. 多表查询
    目录多表查询多表关系一对多多对多一对一多表查询概述分类内连接外连接自连接联合查询子查询分类标量子查询列子查询行子查询表子查询案例多表查询多表关系项目开发中,......
  • 数据结构-数据模拟队列
    模拟单向队列classArrayQueue{privateintmaxSize;privateintfront;privateintrear;privateint[]arr;publicArrayQueue(intmaxSize......
  • 有什么相见恨晚的英语听力练习方法?
    本文來自知乎 原文鏈接作者:黄七公终身学习者B站ID:黄七公说5,448人赞同了该回答曾经的我真的是听力渣渣,通过一个月的刻意训练(内外相合的训练),我的英语听力水平产生了巨......