草庐IT

order_index

全部标签

mysql - 为什么不使用mysql ORDER BY RAND()?

我看到很多网站说不要使用ORDERBYRAND(),例如http://forge.mysql.com/wiki/Top10SQLPerformanceTips所以我运行了一个测试,我测试了20k记录表的速度和性能,其中10k记录有username="username":SELECTusernameFROMtestingspeedWHEREusername='username'ORDERBYRAND();结果:Showingrows0-29(10,000total,Querytook0.0119sec).id=1select_type=SIMPLEtable=testingspeedty

mysql - 计数 substring_index

我需要知道substring_index如何只返回与分隔符数量完全匹配的所有行。在这种情况下.例如这个查询:SELECTSUBSTRING_INDEX(ABC,'.',4)FROMxxx只有当行完全像这样(有4个单词)时才应该输出:aaa.bbb.ccc.ddd问题是:这一行也显示了。aaa.bbb 最佳答案 这将返回ABC有3个.分隔符的任何内容。select*fromxxxwherechar_length(replace(ABC,'.',''))+3=char_length(ABC)如果您的定界符是多字符字符串,则需要将3乘以定

mysql - 嵌套 VIEW 忽略 ORDER BY

类似这个问题:MySQL:ViewwithSubqueryintheFROMClauseLimitation我有以下显示表:DROPTABLEIFEXISTS`shows`;CREATETABLE`shows`(`show_id`int(11)unsignedNOTNULLAUTO_INCREMENT,`show_type`int(11)unsignedDEFAULTNULL,`show_year`int(11)unsignedDEFAULTNULL,PRIMARYKEY(`show_id`))ENGINE=InnoDBAUTO_INCREMENT=1DEFAULTCHARSET=ut

MySQL ORDER BY 以(显然)随机顺序返回事物?

以下查询:SELECTDISTINCTClassNameFROMSiteTreeORDERBYClassName没有明显的顺序返回!无论我引用列/表名称,使用或不使用DISTINCT,或者添加ASC或DESC,我都会得到相同的结果。我假设索引可能被破坏,或者类似的东西,所以尝试删除并重新创建。还尝试了REPAIRTABLE和CHECKTABLE。表排序规则设置为latin1_swedish_ci。所有文本列都设置为使用UTF-8,排序规则设置为utf8_general_ci这可能是什么原因造成的?编辑:示例数据位于pastie.结果直接来自在MySQL客户端中执行的SQL查询(尝试了2

sql - 由于 ORDER BY 未使用索引导致 SQL 查询缓慢

我有这个查询:SELECTcl.title,cl.URL,cl.IDASad_id,cl.cat_id,cl.price,cs.nameAScat_name,pix.file_name,area.area_nameFROMclassifiedsclFORCEINDEX(advertiser_id)INNERJOINclassifieds_pixpixONcl.ID=pix.classified_idINNERJOINcat_names_subcsONcl.cat_id=cs.IDINNERJOINzip_codeszipONcl.zip_id=zip.zip_idINNERJOINar

php - 如何在 Kohana 的查询生成器中使用 ORDER BY 和 GROUP BY 构建 UNION 查询?

我正在尝试使用Kohana'squerybuilder构建UNION查询.一切正常,直到我添加GROUPBY或ORDERBY子句。这是我使用的代码(简化):$query1=DB::select('p.name')->from(array('person','p'))->where('p.organization','LIKE','foo%')->limit(10);$names=DB::select('sh.name')->union($query1,FALSE)->from(array('stakeholder','sh'))->where('sh.organization','LI

mysql - 为什么 Mysql 给我错误 1280 "Wrong Index"

谁能解释为什么Mysql在我尝试创建“CHARTOFACCOUNTS”表时出现错误1280(“'fk_chart_aid_aid'的错误索引”)错误。我在这里完全困惑。我该如何解决这个问题以便创建表格?“ACCOUNT”表已经存在于数据库中,并且里面有数据。感谢您的帮助。MYSQL服务器版本:5.1.54会计科目表:DROPTABLEIFEXISTS`rst`.`acctg_chart_of_accounts`;CREATETABLEIFNOTEXISTS`rst`.`acctg_chart_of_accounts`(`acctg_chart_of_accounts_id`INTUNS

MYSQL 在简单查询中使用 ORDER BY 索引列时使用文件排序

我见过很多类似的问题,但我没有看到适合我的解决方案。或者也许我只是太笨了。:)希望有人能帮助我。我有下表:CREATETABLE`table_name`(`value1`smallint(5)unsignedNOTNULLAUTO_INCREMENT,`value2`varchar(50)NOTNULL,`value3`tinytext,`value4`tinytext,`value5`tinytext,`value6`char(3)DEFAULTNULL,`value7`char(3)DEFAULTNULL,PRIMARYKEY(`value1`),KEYvalue2_index('

sql - 如何使用 ORDER BY 正确处理数字?

我想从mysql表中获取按其中一个varchar列排序的数据。假设我有这样的查询:SELECTname,modelFROMvehicleORDERBYmodel问题是,对于像这样的“模型”值:“S43”、“S111”,顺序将是:S111S43因为我想ORDERBY使用字母顺序规则,对吧?那么如何修改这个查询以获得“数字”订单呢?哪个“S43”会在“S111”之前?无需更改或向该表添加任何数据。 最佳答案 是这样的:SELECTname,modelFROMvehicleORDERBYCAST(TRIM(LEADING'S'FROMmo

MySQL ORDER BY 带负数的数值问题

我正在使用一个查询,它使用:ORDERBYscoreDESC;'score'只包含数值,也可以是负数。它们似乎没有按正确的顺序显示。负数可以出现在正数之上。有谁知道我应该使用这样的查询来显示它们:1051-1-5-10还要阻止他们这样做:*1*10*11*123*1234*2*25*253*34谢谢。 最佳答案 orderbycast(scoreasint)desc;看来您正在以字符串数据类型存储数字数据。最好将分数设为数字数据类型,例如int。 关于MySQLORDERBY带负数的数值