Re: [SQL ] 如何找出頻率最高的查詢一問

看板Database作者 (狂想)時間18年前 (2008/02/05 00:06), 編輯推噓2(201)
留言3則, 3人參與, 最新討論串9/10 (看更多)
※ 引述《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

02/05 10:21, , 1F
咦...難道MySQL不能這樣下?!.....
02/05 10:21, 1F

02/06 00:17, , 2F
改成group by salary試看看
02/06 00:17, 2F

02/06 16:31, , 3F
改成group by t2.salary可以得到正確的結果!
02/06 16:31, 3F
文章代碼(AID): #17fpWCwE (Database)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文
完整討論串 (本文為第 9 之 10 篇):
文章代碼(AID): #17fpWCwE (Database)