草庐IT

relative_order

全部标签

使用 ORDER BY 时 MySQL 查询变得非常慢

这是一个大约需要1毫秒才能完成的mysql查询:SELECTSQL_NO_CACHEDISTINCTinvoice.*,GROUP_CONCAT(DISTINCTline.guid)aslineFROMinvoiceLEFTJOINligneONline.invoice=invoice.guidGROUPBYinvoice.guidWHEREacompte=1LIMIT0,100;如果我将ORDERBYinvoice.date添加到查询中,它会变得非常慢,大约需要3秒才能完成。如果我删除LEFTJOIN(和GROUP_CONCAT),查询将再次花费1毫秒。我添加了EXPLAIN来查看当

基于 2 列的 ORDER BY 的 MySQL rowrank

数据库有表persons:idintpointsintvoted_onintothercolumns我想知Prop有idx的行在第几行排名,具有相同点数的行具有相同的行排名。这个查询工作得很好而且很快:(但如果你知道更好的查询,请告诉我:)selectcount(*)frompersonspcrossjoin(selectpointsfrompersonspwherep.id=x)constwherep.points>const.points;但是现在我想升级查询,即voted_on较少但点数相同的人比voted_on多的人有更好的行排名。但是,具有相同点数和voted_on的人应该具

mysql - ORDER BY 不适用于 MySQL 中的 CONCAT 语句

对于我的项目,我有一个奇怪的要求!!我有如下三个表,例如ATab、BTab和CTabCREATETABLEIFNOTEXISTS`ATab`(`id`int(8)unsignedNOTNULLAUTO_INCREMENT,`oid`int(8)unsignedNOTNULL,`type`int(1)unsignedNOTNULL,`parent`int(8)unsignedNOTNULL,`title`varchar(128)CHARACTERSETutf8NOTNULLDEFAULT'',`tagname`varchar(16)CHARACTERSETutf8NOTNULLDEFAU

派生表中的 MySQL 联合 (related_id=a AND related_id=b) OR (related_id=z)

我有以下表格:users、tags、tags_data。tags_data包含tag_id和user_id列以将users与1中的tags链接起来用户与许多标签的关系。列出所有具有tag_id1001AND1003,ORtag_id的用户的最佳方式是什么1004?编辑:我的意思是,也可能有其他相关标签,也可能没有,只要肯定有1004或(1001和1003)即可。目前我有两种方法可以做到这一点,都在派生表中使用UNION,在FROM子句或中INNERJOIN子句...SELECTsubsel.user_id,users.nameFROM(SELECTuser_idFROMtags_dat

MySQL 性能,当查询使用 order by/group by 时子查询使用临时文件排序

在为用户创建的游戏map存档制作标签表时,获取包含所有提供的标签的map的mapID的SQL是,...是标签,#是标签的数量:SELECTDISTINCTmap_idFROM`map_tag`INNERJOIN`tag`USING(tag_id)WHEREtagIN(...)GROUPBYmap_idHAVINGCOUNT(DISTINCTtag_id)=#ORDERBYmap_idDESC/*Affectedrows:0Foundrows:83,597Warnings:0Durationfor1query:0.032sec.(+0.531sec.network)*/+----+---

php - codeigniter 和 MYSQL 中的 Set_relation_n_n grocery crud

我在grocerycrud中使用set_relation_n_n时遇到问题问题是mysql告诉我检索数据的数据库的查询语法错误,因为MySQL5.6.23是我服务器的版本。并且不知道在哪里可以找到不允许我在系统中编辑字段的解决方案我把两个表放在了冲突的地方 TABLEDocente_Escuela(  Id_afiliadoint(11)NOTNULL,  Id_escuelaint(11)NOTNULL,  Priorityint(11)NOTNULL,  PRIMARYKEY(id_afiliado,id_escuela))ENGINE=InnoDBDEFAULTCHARSET=u

mysql - 在mysql中使用order by子句按字母顺序对小写字母和大写字母的字符串进行排序

我正在使用mySQL和排序规则utf8mb4_general_ci。我尝试了以下查询:SELECTcid,cnamefromcust1orderbycnamedesc结果是:cidcname3bbb1abc2ABC上面的排序规则是否设置了这种排序方式(小写字母从大到小)?此外,如果我运行以下查询:SELECTcid,cnamefromcust1orderbycname结果是:cidcname1abc2ABC3bbb再次以升序排列,小写字母排在第一位。我不明白这一点。请给我解释一下。如何更改数据库排序规则? 最佳答案 MySQL正在输

php - 搜索时高级 ORDER BY

我们制作了一个搜索字段,您可以在其中搜索多种成分并查找食谱。我们想根据搜索框中成分最多的食谱对食谱进行排序。if(isset($_POST['search'])){$searchquery=$_POST['search'];$vals="'".str_replace(",","','",$searchquery)."'";$query=mysql_query("SELECT*FROMopskrifterWHEREidIN(SELECTopskrifteridFROMingredienserWHEREing_nameIN('$vals'))")ordie("searchfailed");

java - hibernate : invalid ORDER BY expression

我试过像这样向我的Criteria添加一些订单。crit.addOrder(Order.asc("priority"));//Nottherealpropertythough然后使用带有HSQLDialect的MsAccess数据库在我的系统上进行测试我得到了Causedby:org.hsqldb.HsqlException:invalidORDERBYexpression所以我试着显示查询,它是这样写的:Hibernate:/*criteriaquery*/selectdistinctthis_.i_idasy0_fromT_FIT_ARTICLEthis_where(this_.b

mysql - SQL order by after more than

我正在尝试使用SQL对结果进行排序id|name(tablename:student)-----1|jhon2|amin3|heli4|mir5|mrs6|amr7|jonnathan8|adhy当我使用这个查询时selectidfromstudenthwhereid>='3'orderbyidDESClimit2出现的结果是id|name(tablename:student)-----8|adhy7|jonnathan虽然我想在id=3之后对结果进行排序,但我想要如下数据id|name(tablename:student)-----4|mir3|heli