作者flakchen (flak)
看板Database
标题Re: [SQL ] 如何找出频率最高的查询一问
时间Mon Feb 4 13:38:58 2008
※ 引述《fantasywater (狂想)》之铭言:
: +------+--------+ 如左表
: | dno | salary | 请问:要找出每一个dno里面薪水出现频率最多
: +------+--------+ 得查询应该要怎麽写?
: | 5 | 30000 |
: | 5 | 25000 | 我只会列出每一个dno里面最高最低和频均的薪水
: | 5 | 25000 | 不知道如果要先计算出现频率,
: | 5 | 38000 | 再把频率最高的结果抓出来的查询怎麽写
: | 1 | 55000 |
: | 4 | 43000 |
: | 4 | 25000 |
: | 4 | 25000 |
: +------+--------+
: +------+--------+ 左边这个是我希望得到的结果
: | dno | salary | MYSQL或是标准SQL里面有可以计算出现频率最多的方法吗?
: +------+--------+
: | 5 | 25000 |
: | 1 | 55000 |
: | 4 | 25000 |
: +------+--------+
计算频率:
Select dno,salary,count(*) From Table Group By dno,salary
这里count(*)不是频率,但每个dno中count(*)最多的就是频率最高
所以接下来找每个dno中频率最高的就可以...
Select Distinct T1.dbo,T1.Salary
From Table T1
Where salary=(select top 1 T2.salary
from Table T2
where T1.dno=T2.dno
group by T2.dno
order by count(*) desc)
只会M$-SQL,请自行转成MySQL语法
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 210.64.238.212
1F:推 PsMonkey:他还要平均的耶.,... XD (我一定会交给前端作 XD) 02/04 14:45