Re: [SQL ]SUB QUERY的速度改善 / GROUP BY 的問題

看板Database作者 (no car ,no girlfriend )時間16年前 (2009/09/12 23:14), 編輯推噓4(404)
留言8則, 3人參與, 最新討論串3/3 (看更多)
看了一下 終於看懂(看code一整天 頭昏腦脹ORZ) SELECT test.groupno ,test.x,test.y,a1.dates FROM test inner join ( SELECT GroupNo , MAX( Dates ) as dates FROM test GROUP BY GroupNo )a1 on test.groupno =a1.groupno and test.dates =a1.dates TRY看看 提醒一下 column盡量不要用date ※ 引述《george755185 (覺悟者恆幸福)》之銘言: : 這是一個假設的欄位: (設名稱是test) : GroupNo | x | y | Date : --------------------------- : 今天我想依GroupNo分類,將各類下Date最大的x,y資料取出 : 我用的語法是: : SELECT GroupNo, x, y, Date : FROM test : WHERE ( : GroupNo, Date : ) : IN ( 這邊用in 陷入一筆一筆比對的效能問題吧? maybe~ : SELECT GroupNo, MAX( Date ) : FROM test : GROUP BY GroupNo : ) : 可以達到我要的效果 : 但是在資料量大(2000筆以上)的時候,速度太慢無法符合需求 ~"~ : 有什麼方法可以改善這個查詢的效率嗎? : 或是在使用 MAX...GROUP BY ....的時候,能不能將這個MAX列的其他欄位一併取出來? -- ▆▆▆▆ 幹你媽的! ◢███◣ ████ ◢████◣ ◢███◣ 停撥黑棒! ▂▂▂▂▂ ███ ██████ █◤ ◥█ 還我南方! ⊙ ⊙ █ ⊙ ⊙ ⊙ ⊙ ⊙⊙ 炸你全家! 皿 ◢ ◢▇▇▇◣ ◢███ ︶ ◢ ψdiabloq13 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.86.130.111

09/13 02:11, , 1F
感謝~ 也感謝下午寄信給我的rushcat 解決了我的問題
09/13 02:11, 1F

09/13 02:16, , 2F
這個方法的速度的真的差很多 9秒-->0.005秒
09/13 02:16, 2F

09/13 02:18, , 3F
樓上是說rushcat大大的方法嗎 效率如此高 可否分享?XD
09/13 02:18, 3F

09/13 02:35, , 4F
和這篇的方法是一樣的~ 應該是我原來的寫法太笨0rz
09/13 02:35, 4F

09/13 02:49, , 5F
啊...小數點後多了一個0 0.051才對XD
09/13 02:49, 5F

09/13 19:56, , 6F
不太懂為什麼column不要用date?
09/13 19:56, 6F

09/13 20:51, , 7F
雖然DATE不是MYSQL的保留字 覺得date這字卻用的很頻繁
09/13 20:51, 7F

09/13 21:14, , 8F
原來是指欄位名稱@@
09/13 21:14, 8F
文章代碼(AID): #1AgxhX_4 (Database)
文章代碼(AID): #1AgxhX_4 (Database)