美文网首页
mysql语句总结

mysql语句总结

作者: 沿哲 | 来源:发表于2020-11-25 16:25 被阅读0次
  1. 统计男女比例与男女工资
SELECT gender,
count(id) number,
count(id)/(select count(id)from test4) num_pro, 
sum(high) sumup,
sum(high)/(select sum(high)from test4) high_pro
from test4
group by gender;
select * from test4
order by income desc;
  1. 按照数学成绩排序
select * from test5
where sub='数学'
order by score; 
  1. 对表行转列


    基础表
select*from
(select id,
sum(if(sub='数学',score,0)) math,
sum(if(sub='英语',score,0)) eng,
sum(if(sub='语文',score,0)) chi,
sum(score) as total
from test5
group by id
)as a
order by total desc
行转列结果
  1. 倒置后找到英语分数最高的
select * from
(
select id,
sum(if(sub='数学',score,0)) math,
sum(if(sub='英语',score,0)) eng,
sum(if(sub='语文',score,0)) chi,
sum(score) as total
from test5
group by id
) as a
order by eng desc limit 1
  1. 两个表操作,找到总分最高的两人的名字,id
    一个表id和名字;另一个表id 分数
select test4.id,test4.`name`,total
from test4,
(
select*from
(select id,
sum(if(sub='数学',score,0)) math,
sum(if(sub='英语',score,0)) eng,
sum(if(sub='语文',score,0)) chi,
sum(score) as total
from test5
group by id
)as a
order by total desc limit 2
)as b
where b.id=test4.id
  1. 两个表
    一个表id, 注册日期
    另一个表id,付费金额
select count(distinct t2.id) as '付费人数',sum(t2.money) as '付费金额'
from (
select id from test1 where year(date1)>=2020
)t1
left join (
select id,money from test2
)t2
on t1.id=t2.id
  1. 对日期倒置
SELECT  
id id,
max(CASE WHEN status = 's1' THEN  date ELSE null END )as sta1,
max(CASE WHEN status = 's2' THEN  date ELSE null END) as sta2
FROM test6
group by id
  1. 次日留存率,3日留存率,7日留存率
select 
    date(reg_time) dt,
    count(distinct user_info.user_id) 新增用户数,
    sum(datediff(login_time,reg_time)=1) 次日留存用户数,
    sum(datediff(login_time,reg_time)=3) 三日留存用户数,
    sum(datediff(login_time,reg_time)=7) 七日留存用户数,
    sum(datediff(login_time,reg_time)=1)/count(distinct user_info.user_id) 次日留存率,
    sum(datediff(login_time,reg_time)=3)/count(distinct user_info.user_id) 三日留存率,
    sum(datediff(login_time,reg_time)=7)/count(distinct user_info.user_id) 七日留存率
from user_info left join login_log on user_info.user_id=login_log.user_id
group by date(reg_time);

相关文章

  • BigData-MySQL总结大全(一)苏暖人

    BigData之MySQL总结大全 MYSQL常用的基本语句 MYSQL常用的基本语句 例:SELECT TOP ...

  • mySQL语句总结

    ================= SQL 四大语句 =========================== 1....

  • mysql语句总结

    统计男女比例与男女工资 按照数学成绩排序 对表行转列基础表 倒置后找到英语分数最高的 两个表操作,找到总分最高的两...

  • MySQL优化知识点总结

    前言 这篇博文是对尚硅谷MySQL高级课程的总结。 一、存储引擎简介 二、JOIN语句总结 其中因为MySQL没有...

  • MySQL常用语句

    本篇主要是归纳一下最常用、入门的 MySQL 语句。以安装完 MySQL 登录为起点,简单总结一下常用的几条语句。...

  • php操作mysql语句

    mysql语句 php操作mysql语句

  • Mysql 原理(一)

    Mysql是我们常见的存储引擎,下面总结一下我认知的Mysql。一、mysql基础架构 二、sql语句的执行流...

  • Mysql 游标总结

    Mysql 游标总结 在MySql中的查询语句能返回多条记录结果,那么表达式中如何遍历这些记录结果?在MySql中...

  • MySql相关语句总结

    MySql相关语句总结 标签(空格分隔): JAVA后台 数据库的操作 cmd命令行进入数据库 创建数据库 查看创...

  • MySQL语句总结(一)

    MySQL的数据类型: 字符串类型 CHAR和VARCHAR类型 CHAR 类型用于定长字符串,并且必须在圆括号内...

网友评论

      本文标题:mysql语句总结

      本文链接:https://www.haomeiwen.com/subject/ijuniktx.html