作者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
1F:推 george755185:感谢~ 也感谢下午寄信给我的rushcat 解决了我的问题 09/13 02:11
2F:推 george755185:这个方法的速度的真的差很多 9秒-->0.005秒 09/13 02:16
3F:→ slalala:楼上是说rushcat大大的方法吗 效率如此高 可否分享?XD 09/13 02:18
4F:推 george755185:和这篇的方法是一样的~ 应该是我原来的写法太笨0rz 09/13 02:35
5F:推 george755185:啊...小数点後多了一个0 0.051才对XD 09/13 02:49
6F:→ fphoenix923:不太懂为什麽column不要用date? 09/13 19:56
7F:→ slalala:虽然DATE不是MYSQL的保留字 觉得date这字却用的很频繁 09/13 20:51
8F:→ fphoenix923:原来是指栏位名称@@ 09/13 21:14