作者fantasywater (狂想)
看板Database
標題Re: [SQL ] 如何找出頻率最高的查詢一問
時間Tue Feb 5 00:06:35 2008
※ 引述《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