繁体   English   中英

如何通过使用MySQL使用Max函数与组

[英]How To Use Max function with group by using MYSQL

我有那三张桌子

考生

cdid   cdname   

1      Moussa
2      Moustafa
3      Haitham

职位

posid  posname   

1      pos1
2      pos2
3      pos3

工作邀请

cdid    posid   salary
1        1       600
1        2       800
1        3       700
2        1       500
2        2       700
2        3       900
3        2       1000
3        3       500

我需要进行查询以获取每个职位的最高薪资的cdname

桌子应该是这样的

cdname         posname       salary

moussa          pos1          600
haitham         pos2          1000
moustafa        pos3          900

我正在使用此查询,但没有获得正确的cdid

$sql="select joboffers.cdid,joboffers.posid,Max(joboffers.salary),candidates.cdname
            FROM joboffers,candidates
            Where joboffers.cdid=candidates.cdid 

            Group by joboffers.posid"; 

我认为您需要按所有未汇总的列进行分组,如下所示:

SELECT j.cdid, c.cdname, j.posid, MAX(j.salary)
FROM joboffers j
JOIN candidates c ON j.cdid = c.cdid
GROUP BY j.cdid, c.cdname, j.posid
 SELECT c.cdname, p.posname, MAX(j.salary)
 FROM joboffers j
 INNER JOIN candidates c ON j.cdid = c.cdid
 INNER JOIN positions p ON j.posid = p.posid
 GROUP BY c.cdname, p.posname

尝试这个 :)

SELECT sub.cdname, sub.posname, sub.salary
FROM (
  SELECT * FROM joboffers jo
  INNER JOIN positions ps USING (posid)
  INNER JOIN candidates cd USING (cdid)
  ORDER BY posid, salary DESC
) sub
GROUP BY sub.posid

enter code here SELECT customerNumber,MAX(金额)来自付款方式GROUP BY customerNumber ORDER BY MAX(金额);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM