2 hailunjieyingyu HaiLunJieYingYu 于 2016.01.21 08:31 提问

请找出报销次数最多的员工信息,要求不能用IN。

员工信息表:

编号,手机,职务

A1,13609081861,PM

A2,13609081234,AM

A3,13609123456,GM

A6,12345678990,CIO

A7,12341343542,CTO

A8,12324532334,FIO

报销信息表:

员工编号,报销金额,备注(允许为NULL)

A1,1800

A2,800

A3,800

A3,1500

A3,600

A6 3000

A7,1800

5个回答

enpterexpress
enpterexpress   Rxr 2016.01.21 09:29

图片说明

kkoofire
kkoofire 明显没有认真看题目。人家问的是报销次数最多,而不是金额最多
2 年多之前 回复
HaiLunJieYingYu
HaiLunJieYingYu 回复sinat_31535993: 认同你的说话!
2 年多之前 回复
sinat_31535993
sinat_31535993 回复sinat_31535993: 而且你自己看数据看不出结果吗?明显A3报销次数最多,你的结果却是A6。
2 年多之前 回复
sinat_31535993
sinat_31535993 次数最多的就是第一个?如果10个人都报销了10次,难道最多只有1个?
2 年多之前 回复
Royal_lr
Royal_lr   Ds   Rxr 2016.01.21 09:30

报销次数最多也就是报销金额最多,,找到报销金额最多的就行了

kkoofire
kkoofire 智商捉急!报10次1块的 和报1次100块的那个多?
2 年多之前 回复
sinat_31535993
sinat_31535993 这个思路真搞笑,我一个月每天报销2块钱车费,另一个人一个月一次报销住院费5W,你告诉我住院的那个人报销的次数最多?
2 年多之前 回复
danielinbiti
danielinbiti   Ds   Rxr 2016.01.21 10:19
 select A.* FROM (
SELECT DISTINCT 员工编号 as 员工编号 FROM (
SELECT t.*,MAX(cn) over(partition by r) MX from (
SELECT '1' r ,t.* ,count(*) over(partition by 员工编号) cn from 报销信息表 t
) t 
) T WHERE MX = CN
) B left join 员工信息表 A on 员工信息表.编号=B.员工编号
kkoofire
kkoofire   2016.01.28 11:32

表a:员工信息表
表b:报销信息表
;WITH x AS (SELECT id,COUNT(id) cnt FROM b GROUP BY id)
SELECT a.* FROM a INNER JOIN (SELECT x.id FROM x WHERE x.cnt=(SELECT MAX(cnt) FROM x)) y ON a.id=y.id

sinat_31535993
sinat_31535993   Rxr 2016.01.21 09:23

select max(t.count) ,t.* from (select count(a.员工编号) count,a.员工编号,b.手机,b.职务 from 报销信息表 a left join 员工信息表 b on a.员工编号=b.员工编号 group by a.员工编号,b.手机,b.职务) t;

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Java实现给定任一字符串,长度为任意,要求找出其出现次数最多的字符及其出现次数。
import java.util.ArrayList;/** * 给定任一字符串,长度为任意,要求找出其出现次数最多的字符及其出现次数。 * @author ZHOUMI2 */public class Test { public static void findChar(String str) { if (str == null || str.length() == 0
给定一个字符串找出出现次数最多的字符
public static Map getMaxCountChar(String input){ Map result = new HashMap(); char[] charArray = input.toCharArray(); List linkedList = new LinkedList(); Set treeSet = new TreeSet();
给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。
ccf认证考试2013年12月第一题 问题描述   给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。 输入格式   输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。   输入的第二行有n个整数s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相邻的数用空格分隔。 输
问题6: 找出字符串中出现次数最多的字母及其出现的次数
这好像是华为机试的一道题目,我采用JAVA来完成,用JAVA也可以用其他方法。 我用一个比较简单的方法,代码如下: public class Str{ public static void main(String[] args){ String str = "sdasewdasdaeawfawerfadsdfasrfqwe"; int count = 0; ch
给定一个字符串,找出这个字符串中出现最多的字符和次数
1. “给定一个字符串,找出这个字符串中出现最多的字符和次数”, public class FindChar { public static void main(String args[]){ String str="sgssssssssssjkoouyfdcjkkjhgdedryunnbbvffdssghhhj"; find(str); } public static void f
CCF201312-1 出现次数最多的数
题目: 问题描述   给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。 输入格式   输入的第一行只有一个正整数n(1 ≤ n ≤ 1000),表示数字的个数。   输入的第二行有n个整数s1, s2, …, sn (1 ≤ si ≤ 10000, 1 ≤ i ≤ n)。相邻的数用空格分隔。 输出格式   输出这n个次数中出现次数最多的数。如
[华为机试练习题]61.找出字符串中第一个出现次数最多的字符
题目描述: 找出字符串中第一个出现次数最多的字符 详细描述:接口说明 原型:bool FindChar(char* pInputString, char* pChar); 输入参数:char* pInputString:字符串 输出参数(指针指向的内存区域保证有效):char* pChar:出现次数最多的字符 返回值: false 异常失败 true 输出成功 练习阶段:
CCF-CAP 201312-1 出现次数最多的数 答案
给定n个正整数,找出它们中出现次数最多的数。如果这样的数有多个,请输出其中最小的一个。
找出重复次数最多的数字
问题 给定一个大小为n的数组,该数组包含数字的范围在 [0...k-1], k是一个正整数,k 例如, 假设k= 10给定的数组是arr[] = {1, 2, 2, 2, 0, 2, 0, 2, 3, 8, 0, 9, 2, 3},最大的重复数量将是2。 期望的时间复杂度是O(n),空间复杂度为O(1),允许修改原数组。 分析 方法一:使用双重循环,逐个判断
统计出现次数最多的数
问题描述: 给定n个正整数,找出他们中出现次数最多的数,如果这样的数有多个,请输出其中最小的一个数: 样例: 6(数列长度) 10 1 10 20 30 20(数列) 输出:10 思路:先对数组进行排序,然后将数组中的数据和数据出现的次数存放到HashMap中,最后遍历这张哈希表,输出结果。 下面给出程序: import java.util.Arrays; import java.