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

辽源网站制作电商网站开发目的

辽源网站制作,电商网站开发目的,深圳台历制作,网站营销seo1、时间可以进行排序,也可以用聚合函数对时间求最大值max(时间) 例如下面的例子:取最晚入职的人,那就是将入职时间倒序排序,然后limit 1 表: 场景:查找最晚入职员工的所有信息 se…

1、时间可以进行排序,也可以用聚合函数对时间求最大值max(时间)

例如下面的例子:取最晚入职的人,那就是将入职时间倒序排序,然后limit 1

表:

 场景:查找最晚入职员工的所有信息

select * from employees order by hire_date desc limit 1

方法二:子查询 

select * from employees where hire_date=(select max(hire_date) from employees)

2、 limit可以单独两个参数使用,也可以和offset一起使用

例如:

表:

业务需求: 

代码:limit两个参数单独使用:倒序排序,从第三行开始显示,显示一行数据

select * from employees order by hire_date desc limit 2,1

或者:结合offset使用:

select * from employees order by hire_date desc limit 1 offset 2

3、内连接、左连接、右连接的连接后表的合并情况:

(1)两表内连接的结果是将后面的表拼接在前面的表后面

看例子:两个表:

内连接代码:

select *
from salaries sa join dept_manager  de on sa.emp_no=de.emp_no

结果: 

 (2)右连接

两个表:

 上面的表右连接下面的表,代码如下:

select *
from employees e right join dept_emp d on e.emp_no=d.emp_no

结果:

虽然是右连接,但是上面的表在right join的前面,前面的表右连接后面的表,那前面的表就在最后的结果中在前面展示,后面的表在后面展示,但是右连接是保留后面的表的所有行

4、新型思路:找第二大的数据,先把第一大的数据筛选掉,然后再在表格中找第一大也就是原本表格的第二大的数据了

表:

需求: 

代码:

select e.emp_no,s.salary,e.last_name,e.first_name
from employees e join salaries s on e.emp_no=s.emp_no
where s.salary=(select max(s2.salary)from salaries s2where s2.salary<(select max(salary) from salaries) 
)

 题解:

结果:

5、两个表连接,输出在职员工自入职以来的薪水涨幅情况

业务需求:

表:

思路:

用两次join,连接三个表,先连接前两个表,后连接第三个表,然后用当前工资减去入职工资。

结果:

6、MySql在处理group by和非聚合列的关系上有变动:一定的版本或者关系允许,使用group by时有select后面有非聚合列的出现:

官方解释:

官网链接:MySQL :: MySQL 5.7 Reference Manual :: 12.19.3 MySQL Handling of GROUP BY 

例子:

表:

业务需求:

代码:

select de.dept_no,dep.dept_name,count(de.dept_no)
from dept_emp de 
right join departments dep on de.dept_no=dep.dept_no
join salaries s on de.emp_no=s.emp_no
group by de.dept_no
order by de.dept_no

结果:

解释:

7、字段按照窗口函数倒序排序,窗口内的本字段值相同的按照另外一个字段升序排序

也就是用dense_rank()排序,出现1223的情况,那22这两个字段值是相等的,就按照另外一个字段排序,就是dense_rank只能保证整体按照一个字段排序,但是相同的它不能管是不是按照另外一个字段升序排序,所以要用到order by 进行整体升序排序,然后按另外一个字段升序排序

例如下面这道题:

业务需求:

表:

代码: 

select emp_no,salary,dense_rank()over(order by salary desc) r
from salaries
order by r,emp_no asc

 红色框里面是按照工资进行降序排序,但是只能进行工资降序排序,他管不到相同序号里面是否是按照员工编号升序排序,所以用绿色框里order by进行排序,因为order by在窗口函数后执行,直接写order by emp_no asc按照编号排序的话,整个排序就会乱掉,不会按照薪资降序排序了,所以要先按照order by r asc升序排序,保证整个表是先按照薪资降序排序的,然后按照编号升序排序。

结果:

8、group by可以根据两个字段进行分组,是去除重复的,而窗口函数不去重复,是计算累积值:

例子:

业务需求:

原表:

 

 代码:

select dpm.dept_no,dpm.dept_name,t.title,count(t.title)
from departments dpm inner join
dept_emp de on dpm.dept_no=de.dept_no inner join
titles t on t.emp_no=de.emp_no
group by dept_no,title
order by dept_no,title asc

结果:

 

 

http://www.yayakq.cn/news/755718/

相关文章:

  • 自助网站建设工具广州网站建设海珠信科
  • hui怎么做网站免费企业建站开源系统
  • 合肥有什么好的网站建设公司好乌克兰服务器
  • 哪里的郑州网站建设网站安全证书
  • e网站的图标怎么做苏州seo营销
  • 适合大学生个体创业的网站建设网站容量
  • 免费学ps的网站有哪些网架公司招聘信息
  • 昆山app网站制作路由器通过域名解析做网站
  • 甘肃机械化建设工程有限公司网站室内设计者联盟官网
  • 网站备案查询验证码错误专业的南昌网站建设
  • 网站开发易语言口碑营销中容易出现哪些问题
  • 做网站赚钱有哪些途径如何设计个人网站
  • mysql 网站登录密码wordpress换域名主题
  • 嘉兴路街道网站建设wordpress删除文章作者
  • 建工集团两学一做网站书店网站规划与建设
  • 正版win10做win7系统下载网站网络营销的常用策略
  • 企业建网站一般要多少钱西安网站建设首选
  • 购物网站项目经验网页设计欣赏app
  • 泉州网站关键词推广广州建设交易中心官网
  • 电商运营工作很难做吗优化搜狐的培训
  • 济宁做网站多少钱网站被墙
  • 江门医疗网站建设房产网站建网站
  • 稳赚导师免费赚钱微信号老鬼seo
  • 网站开发去哪里找程序员大连互联网公司排名
  • 网站建设监理网站四对联广告代码
  • 电子商务网站名称西安市建设局官方网站
  • 晋州 网站建设 网络推广建设微信网站需要服务器
  • 内部券网站怎么做深圳网站建设公司有哪些
  • 临翔网站建设给个网址2021年能用的
  • 网站建设的条件怎么做无货源网店