免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: wleige
打印 上一主题 下一主题

求助一个SQL语句,高手请进 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2008-10-16 17:00 |只看该作者
原帖由 gogo407 于 2008-10-16 16:57 发表
不对的话,请明示结果
给不给分不是关键的,只是想知道是不是真的有问题而已:)

哈哈,最佳答案给你了,我看你的SQL效率如何

论坛徽章:
0
12 [报告]
发表于 2008-10-16 17:00 |只看该作者
f给我分了,lz不是被我烦的吧
那真不好意思
:)
:)

[ 本帖最后由 gogo407 于 2008-10-16 17:02 编辑 ]

论坛徽章:
0
13 [报告]
发表于 2008-10-16 17:01 |只看该作者
原帖由 wleige 于 2008-10-16 17:00 发表

哈哈,最佳答案给你了,我看你的SQL效率如何

效率肯定不高了,只是想在你那里确认下,这个sql是可以凑合用的:)

论坛徽章:
0
14 [报告]
发表于 2008-10-16 17:07 |只看该作者
原帖由 gogo407 于 2008-10-16 16:57 发表
不对的话,请明示结果
给不给分不是关键的,只是想知道是不是真的有问题而已:)


SELECT A . *
FROM (

SELECT *
FROM product
ORDER BY updatetime DESC
)A
GROUP BY A.cid ORDER BY A.updatetime DESC

这是我的语句,你再有好的贴出来,一起研究下

[ 本帖最后由 wleige 于 2008-10-16 17:11 编辑 ]

论坛徽章:
8
综合交流区版块每周发帖之星
日期:2015-12-02 15:03:53数据库技术版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-10-02 06:20:00IT运维版块每日发帖之星
日期:2015-09-14 06:20:00金牛座
日期:2014-10-10 11:23:34CU十二周年纪念徽章
日期:2013-10-24 15:41:34酉鸡
日期:2013-10-19 10:17:1315-16赛季CBA联赛之北京
日期:2017-03-06 15:12:44
15 [报告]
发表于 2008-10-16 17:24 |只看该作者
LZ对比下两条语句的执行效率

论坛徽章:
0
16 [报告]
发表于 2008-10-16 17:40 |只看该作者
原帖由 ruochen 于 2008-10-16 17:24 发表
LZ对比下两条语句的执行效率

我这里提供了一个数据表,有一万多条记录,大家有兴趣,试一下

product.rar

15.82 KB, 下载次数: 22

论坛徽章:
0
17 [报告]
发表于 2008-10-19 21:34 |只看该作者
楼主:

试试这个,

select A.cid,A.updatetime,min(A.id) From
product A,
(select cid,max(updatetime) maxuptime  From product
group by cid ) B
where A.cid=B.cid and A.updatetime=B.maxuptime
Group by A.updatetime,A.cid
order by A.updatetime desc ;

另外,最好把你的 索引情况也贴出来。。

[ 本帖最后由 jb96_xlwang 于 2008-10-19 21:55 编辑 ]

论坛徽章:
0
18 [报告]
发表于 2008-10-19 22:07 |只看该作者
试了一下 楼主的数据,
发现 只有加个索引才和 楼主自己提供的SQL差不多。。。

不过这个思路可以借鉴一下,
MySQL 把这样的 group by 语句弄的稀里糊涂却还挺有用。。
这样的语法在别的数据库中早报错了,
下面这个在各种数据库中都通用。。。

select A.cid,A.updatetime,min(A.id) From
product A,
(select cid,max(updatetime) maxuptime  From product
group by cid ) B
where A.cid=B.cid and A.updatetime=B.maxuptime
Group by A.updatetime,A.cid
order by A.updatetime desc ;

create index pct001 on product(cid,updatetime ) ;

论坛徽章:
0
19 [报告]
发表于 2008-10-20 13:10 |只看该作者
good
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP