工作常用sql
SQL 常用 工作
2023-09-14 09:09:30 时间
提取某段时间依然还在活跃的用户
with ps as (SELECT player_id as player_id FROM `cloud-test-199409.lediw7.R10` )
SELECT player_id FROM `heidao-market.mafia.login` WHERE DATE(action_time) >= "2019-08-01"
and DATE(action_time) < "2019-08-8"
and player_id in (select player_id from ps)
group by player_id
聚合login数据
with log as (SELECT action_time,DATE(action_time) as dt,lev ,kingdom_id ,login_time_length,player_id,platform_id
FROM `heidao-market.mafia.login`
WHERE DATE(action_time) < "2019-08-01"
and player_id in (SELECT player_id as player_id FROM `cloud-test-199409.lediw7.R10`)
and action=-1)
SELECT
SUM(login_time_length) AS sum_login,player_id,dt
FROM log
GROUP BY player_id,dt
聚合arm 数据
WITH ps AS (SELECT DATE(created_at )AS dt, army_num, mid, army_id, left_num, kingdom_id,created_at, player_id,platform_id
FROM `heidao-market.mafia.army`
where DATE(created_at) <"2019-08-21"
and player_id in (select player_id from `cloud-test-199409.lediw7.R10`)
)
SELECT
SUM(army_num) AS sum_change,
AVG(left_num ) AS m_left,
SUM(army_num)/AVG(left_num +1.1234567) AS ratio,
COUNTIF( army_num<=0) AS ct_m,
COUNTIF(army_num>0) AS ct_p,
COUNTIF( army_num<=0)/( COUNTIF( army_num<=0)+COUNTIF(army_num>0)) as m_p,
max( army_num) as max_change,
min( army_num) as min_change,
max( army_num)/( min( army_num)+1.1234567) as mm_ratio,
player_id,dt
FROM ps
GROUP BY player_id,dt
聚合offer_perchase
--SELECT * FROM `heidao-market.mafia.offer_purchase` WHERE DATE(offer_time) = "2019-08-20" LIMIT 1000
WITH ps AS (SELECT DATE(offer_time )AS dt, pay_amount , exchange , player_id,platform_id
FROM `heidao-market.mafia.offer_purchase`
where DATE(offer_time ) = "2019-08-01"
and player_id in (select player_id from `cloud-test-199409.ledi7.R5`)
)
SELECT
sum(pay_amount* exchange) as sum_money ,
player_id,dt
FROM ps
GROUP BY player_id,dt
简单join
SELECT ins.uid ,ins.player_id from `heidao-market.mafia.create_player` as ins
JOIN `heidao-market.mafia.internal_user` as cp
ON ins.uid =cp.uid
三个表join 用with 嵌套
with A as (SELECT kingdom_id,player_id,created_time,uid FROM `heidao-market.mafia.create_player` WHERE player_id in
(SELECT player_id FROM `cloud-test-199409.lediw7.R10`) ),
B as (select device_id, uid ,attribute_lang from `mafia.registration` ),
myevent as ( select A.uid,B.device_id as de_id , B.attribute_lang as language,
A.created_time as created_time, A.kingdom_id,A.player_id from B inner join A on B.uid=A.uid )
select
--distinct C.time as device_time,
date(myevent.created_time) as created_date,
myevent.player_id,
myevent.language ,
C.country_code,
C.source,
C.device_type,
C.os_type,
C.system_lang,kingdom_id
from `mafia.device_registration` as C
INNER JOIN myevent on C.device_id=myevent.de_id
聚合cha
with ps as (SELECT * FROM `heidao-market.mafia1.chat` WHERE Date(timestamp)>='2019-11-28'),
gs as (SELECT count(message) as cntmsge,player_id ,message,length(ps.message ) as lmm from ps
group by message ,player_id )
select message ,player_id ,cntmsge from gs where cntmsge >30 and lmm >25 order by cntmsge desc
SELECT * FROM `cloud-test-199409.ledi7.message_count` where length(message )>20 and cntmsge >5
order by cntmsge desc
相关文章
- SQL语句中创建表的语句_用sql创建表
- ORA-13776: User “string” has not been granted the “SELECT” privilege on the “SQL tuning set” DBA views. ORACLE 报错 故障修复 远程处理
- SQL SERVER 表与表之间 字段一对多sql语句写法
- 实现成功:使用SQL登录Oracle数据库(sql登录oracle)
- 轻松掌握:使用SQL Server执行SQL脚本(sqlserver执行sql脚本)
- Oracle中的建表SQL语句(建表sqloracle)
- MySQL中常用的SQL语句(sql语句mysql)
- sql 技术MongoDB:非SQL的新技术(mongodb不包含)
- 数据库操作在Linux系统中操作SQL数据库(linux下sql)
- SQL Server:常用端口知多少(sqlserver端口)
- Mysql与SQL:两个不同的数据库技术(mysql与sql的区别)
- MySQL学习笔记:创建表的SQL语句(mysql创建表的sql)
- Oracle SQL的数字取整方法简介(oracle取整sql)
- 精选MySQL常用SQL语句,让你轻松执行数据库操作(mysql常用sql语句)
- 中的多余数据一步步清理SQL Server冗余信息(删除sqlserver)
- 微软Word题库:最大化SQL服务器性能(word题库 mssql)
- SQL Server精简日志:降低系统负担(sqlserver清日志)
- 【SQL Server星期日让程序员忙碌不停】(sqlserver星期几)
- SQL Server:探索当前锁定机制(sqlserver当前锁)
- MySQL与PL/SQL:简单快捷的优势使用(mysql pl sql)
- SQL Server立足于开拓创新,开启数据之美(sqlserver 开方)
- SQL数据同步MySQL的详细步骤和注意事项(sql同步mysql)
- 借助SQL Server,实现更多可能性(sqlserver 允许)
- MySQL数据库备份还原SQL操作指南(mysql数据还原sql)
- MySQL如何进行批量导入SQL数据?(mysql批量导入sql)
- SQL Server 2005快速安装指南: 只需几步搞定!(sqlserver2005安装图解)
- MySQL迁移至MS SQL – 营造更稳固的数据库环境(mysql 转mssql)
- Oracle SQL跟踪神器——高效追踪SQL语句的工具(oracle跟踪sql工具)
- “Oracle跟踪SQL工具:实现高效运维管理”(oracle跟踪sql工具)
- 使用MSSQL快速生成SQL文件(mssql生成sql文件)
- SQL Server:快速写入文件的方法(sqlserver写文件)
- 精通Oracle|从入门到精通写SQL地方(oracle写sql地方)
- 语句Oracle推出新SQL语句 助你工作更高效(oracle会新增sql)
- 掌握 Oracle 中的 SQL 技能(oracle 中的sql)
- 精通Oracle SQL语法,把握大数据运算之道(oracle_sql语法)
- 掌握Oracle SQL语法,灵活运用SQL技巧(oracle sql用法)