作者slalala (no car ,no girlfriend )
看板Database
標題Re: [SQL ]SUB QUERY的速度改善 / GROUP BY 的問題
時間Sat Sep 12 23:14:38 2009
看了一下 終於看懂(看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
推 george755185:感謝~ 也感謝下午寄信給我的rushcat 解決了我的問題 09/13 02:11
推 george755185:這個方法的速度的真的差很多 9秒-->0.005秒 09/13 02:16
→ slalala:樓上是說rushcat大大的方法嗎 效率如此高 可否分享?XD 09/13 02:18
推 george755185:和這篇的方法是一樣的~ 應該是我原來的寫法太笨0rz 09/13 02:35
推 george755185:啊...小數點後多了一個0 0.051才對XD 09/13 02:49
→ fphoenix923:不太懂為什麼column不要用date? 09/13 19:56
→ slalala:雖然DATE不是MYSQL的保留字 覺得date這字卻用的很頻繁 09/13 20:51
→ fphoenix923:原來是指欄位名稱@@ 09/13 21:14