二分法:
package 二分;
public class test1 {
/**
*
* 暴力对数器
*/
public static boolean dui(int[] sortArr, int num){
for (int cur : sortArr){
if (cur == num){
return true;
}
}
return false;
}
/**
* 二分法
* @param arr
* @param num
* @return
*/
public static boolean find(int[] arr,int num){
if(arr == null || arr.length == 0){
return false;
}
int L = 0;
int R = arr.length;
while ( L <= R){
int mid = (L+R) / 2;
if (arr[mid] == num){
return true;
}else if (arr[mid]< num){
L = mid+1;
}else {
R = mid-1;
}
}
return false;
}
}
mysql:
我们这里可以选择将三个表连接在一起:变成一个表,通过两个join
select d.dept_no,d.dept_name,count(s.salary) as sum
from departments d join dept_emp de
on d.dept_no = de.dept_no
join salaries s on de.emp_no = s.emp_no
group by d.dept_no
order by d.dept_no ASC
昨天我们遇到的是那个三表链接是使用的left join 这里我们可以通过观察表格去发现,是否有对应关系,比如如果使用左连接就应该这样:左边的有有右边对应不上的,而今天的这个题直接使用join,因为可以条件deot_no全部吻合
下面介绍三种用于进行排序的专用窗口函数:
1、RANK()
在计算排序时,若存在相同位次,会跳过之后的位次。
例如,有3条排在第1位时,排序为:1,1,1,4······
2、DENSE_RANK()
这就是题目中所用到的函数,在计算排序时,若存在相同位次,不会跳过之后的位次。
例如,有3条排在第1位时,排序为:1,1,1,2······
3、ROW_NUMBER()
这个函数赋予唯一的连续位次。
例如,有3条排在第1位时,排序为:1,2,3,4······
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/80977.html