看板 Database 關於我們 聯絡資訊
※ 引述《flakchen (flak)》之銘言: : ※ 引述《fantasywater (狂想)》之銘言: : : ------------------------------------------------ : : 轉換後的結果如下,還是不行 : : 這招我昨天有想到,但還是跑不出來 Q_Q : : 我應該沒有轉換錯吧...?! : : mysql> Select Distinct T1.dno,T1.Salary : : -> From employee as T1 : : -> Where salary=(select T2.salary : : -> from employee as T2 : 少了 where T1.dno=T2.dno : : -> group by T2.dno : : -> order by count(*) desc : : -> limit 1); : : Where salary=(select T2.salary ...top 1 : : ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ : : 這樣的話這裡面是不是只剩下一筆 : 因為少了那一句的關係 ----------------------------------------------------- 結果如下: mysql> Select Distinct T1.dno,T1.Salary : -> From employee as T1 : -> Where salary=(select T2.salary : -> from employee as T2 where T1.dno=T2.dno : -> group by T2.dno : -> order by count(*) desc : -> limit 1); +------+--------+ | dno | Salary | +------+--------+ | 5 | 30000 | | 1 | 55000 | | 4 | 43000 | +------+--------+ 3 rows in set (0.00 sec) -------------------------------------------------------- 會取到下面箭頭所指示的那三筆資料 裡面的 order by count(*) desc 不知為何似乎沒有作用到 而取到最少出現的那幾筆資料 +------+--------+ | dno | salary | +------+--------+ | 5 | 30000 | <--- | 5 | 25000 | | 5 | 25000 | | 5 | 38000 | | 1 | 55000 | <--- | 4 | 43000 | <--- | 4 | 25000 | | 4 | 25000 | +------+--------+ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.166.8.66
flakchen:咦...難道MySQL不能這樣下?!..... 02/05 10:21
Antzzz:改成group by salary試看看 02/06 00:17
fantasywater:改成group by t2.salary可以得到正確的結果! 02/06 16:31