: 計算頻率:
: 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語法
------------------------------------------------
轉換後的結果如下,還是不行
這招我昨天有想到,但還是跑不出來 Q_Q
我應該沒有轉換錯吧...?!
mysql> Select Distinct T1.dno,T1.Salary
-> From employee as T1
-> Where salary=(select T2.salary
-> from employee as T2
-> group by T2.dno
-> order by count(*) desc
-> limit 1);
+------+--------+
| dno | Salary |
+------+--------+
| 5 | 30000 |
+------+--------+
1 row in set (0.00 sec)
Where salary=(select T2.salary ...top 1
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
這樣的話這裡面是不是只剩下一筆
把 = 改成 IN 連語法都不過了
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.228.31.15
※ 編輯: fantasywater 來自: 61.228.31.15 (02/04 14:08)