MYSQL网页设计SQL BUG集之"随机排序中的new...
解决方案提供商应记住DBaaS通常仅仅是解决方案的一部分。客户之所以与他们的解决方案提供商协同工作,不仅是因为他们出售的产品,而且还因为他们所提供的服务。排序|随机|成绩/**==**2.随机排序中的newid()成绩**==**/--测试数据declare@ttable(namechar(1),valueint)insertinto@tselecta,1unionallselecta,2unionallselectb,3unionallselectb,4unionallselectc,5unionallselectc,6
--请求,随机排序,但name不异的要排在一齐selecta.*from@tajoin(selectaa=newid(),namefrom(selectdistinctnamefrom@t)a)bona.name=b.nameorderbyb.aa,newid()
/*--测试了局之一,并没有到达请求.假如将join改成leftrightfulljoin,就准确namevalue---------------b4b3c5a1a2c6
(所影响的行数为6行)--*/
有的时候,一些缺失的功能可以通过别的办法来实现,例如,在MySQL4.1以前,你可以通过使用join方法来替代子查询的功能。在MySQL5.0中,大多数关系型数据库所要求的功能已经都具备。 从底层原理到表层引用,书籍多的很。个人认为没有什么那本书好?这样的说法。主要看和个人的学习方法是否适合。 然后最好有实践机会,能够把实践到的和实践结合起来,其实理论思考是个非常困扰和痛苦的事情 财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的.. 对于微软系列的东西除了一遍遍尝试还真没有太好的办法 多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油 对一张百万级别的表建游标,同时又没有什么过滤条件,取得游标效率是如果直接SQL查询百万条数据;如果再对每条记录做处理,耗时将更长。 一直以来个人感觉SQLServer的优化器要比Oracle的聪明。SQL2005的更是比2k聪明了不少。(有次作试验发现有的语句在200万级时还比50万级的相同语句要快show_text的一些提示没有找到解释。一直在奇怪。)
页:
[1]