草庐IT

order_rows

全部标签

mysql - 不能在 mysql 函数中使用别名作为 ORDER BY 子句的一部分

如果我执行以下查询,它工作正常。SELECTCASEWHENdescriptionLIKE'%a%'THEN'A'WHENdescriptionLIKE'%b%'THEN'B'ELSE'C'ENDASfoo,COUNT(*)AScntFROMproductpGROUPBYfooORDERBYfoo;结果是这样的foo|cnt-----------A|809B|29C|55但是,下面的查询给出了一个错误。请注意,我只更改了最后一行。SELECTCASEWHENdescriptionLIKE'%a%'THEN'A'WHENdescriptionLIKE'%b%'THEN'B'ELSE'C'

ORDER BY 的 MySQL 索引,日期范围在 WHERE

假设您有一个包含以下列的表:iddatecol1我希望能够使用特定的ID和日期查询此表,并按另一列排序。例如,SELECT*FROMTABLEWHEREid=?ANDdate>?ORDERBYcol1DESC根据thisrange文档,索引在遇到>运算符后将停止使用。但是根据this按文档排序,如果索引按索引中的最后一列排序,则索引只能用于优化orderby子句。是否可以对该查询的每个部分进行索引查找,或者您只能获得3个中的2个?我能做得比index(id,date)更好吗? 最佳答案 计划A:INDEX(id,date)--如果它

mysql - ORDER BY UPPER(列)是错误的

对于MySQL5.6,给定以下表结构:mysql>describegroups;+-------------+--------------+------+-----+---------+----------------+|Field|Type|Null|Key|Default|Extra|+-------------+--------------+------+-----+---------+----------------+|id|int(11)|NO|PRI|NULL|auto_increment||name|varchar(500)|YES||NULL|||description

MYSQL SELECT 最近的 id 和 ORDER BY

我想做的是获取每个resort_id的最新结果,然后是ORDERBYsnow_depth。前两部分我已经完成了。排序是不起作用的部分。到目前为止我有什么SELECT*FROMsnow_conditionst1NATURALJOIN(SELECTMAX(weather_id)ASweather_id,resort_idFROMsnow_conditionsGROUPBYresort_id)t2ORDERBYsnow_depthDESCweather_id是自动递增的,所以我用它代替save_time以减少计算资源。让我困惑的是结果以snow_depth的一些奇怪的偏序出现。+------

php - 通知 : Trying to get property of non-object in with num_rows

这个问题在这里已经有了答案:HowdoIescapereservedwordsusedascolumnnames?MySQL/CreateTable(4个回答)关闭6年前。我收到了错误:Notice:Tryingtogetpropertyofnon-object.我已经研究了一段时间,但无法找到它的问题所在,我尝试了一些不同的语法方式(使用['']和类似的东西),但到目前为止还没有成功。我还看了很多关于SO的老问题,但它们也没有帮助我。我的猜测是我的查询有问题,因为如果我在num_rows之前回显结果,它不会显示任何内容。$dbhandle=newmysqli($hostdb,$use

php - 拉维尔 5.4 : How to order by count(column) in eloquent?

我正在尝试显示按assigned_to票数最多的受让人姓名。$accesses=Access::where('state','=','Assigned');$all=Report::where('state','=','Assigned')->union($accesses)->orderBy('count(assigned_to)')//THISISWRONG->get(); 最佳答案 你必须使用DB::raw来获取它$all=Report::where('state','=','Assigned')->select(DB::ra

mysql - SQL, Order By - 如何给其他列更多的权限?

我有这个SQL语句:SELECT*FROMconvertsWHEREemail='myemail@googlemail.com'ANDstatus!='1'ORDERBYdateASC,priorityDESC这只是按日期排序,但我想赋予我的列“优先级”更多权限。我怎样才能做到这一点?它应该首先按日期排序,但如果两条记录之间的时间是10分钟,那么我希望优先接管。我如何在我的SQL语句中执行此操作,或者这是否必须在我的应用程序逻辑中?我希望我可以在我的SQL语句中做到这一点。谢谢大家的帮助 最佳答案 您可以将“日期”排序量化为10分钟

MySQL:ORDER BY whateverField ASC [第 X 行放在第一位]?

我怎样才能对我的结果集进行排序,同时让特定行(fieldX=Y)成为第一行? 最佳答案 像这样的东西应该可以工作:ORDERBY(fieldX=Y)DESC,whateverFieldASC 关于MySQL:ORDERBYwhateverFieldASC[第X行放在第一位]?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/3493420/

mysql - 如何在 MySQL 中执行 "Dummy"ORDER BY?

我有这样的查询:SELECT*FROMblah1WHEREblah2ORDERBY%s我将%s替换为(经过处理的!)字符串。问题是,字符串可能为空。如果字符串为空,我如何在其中插入一个空操作,而不是更改查询的其余部分? 最佳答案 我认为它应该适合你:ORDERBYNULL 关于mysql-如何在MySQL中执行"Dummy"ORDERBY?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questi

MySQL,三张表 : Select all rows in right table including rows that are not mapped in middle table

我的架构如下:SitesS|S.Id|S.Url||1|a.com||2|b.edu||3|c.org|SiteFeaturesSF|SF.SiteId|SF.FeatureID||1|1||1|2||1|3||2|1||2|2||2|3||2|4||3|2||3|3|FeaturesF|F.Id|F.FeatureName||1|apple||2|banana||3|cherry||4|diaper||5|egg||6|fish|我想选择所有站点,映射到所有功能,包括中间连接表中缺少的功能。对于连接表中没有条目的功能,我想显示“0”。对于连接表中存在的特征,我想要一个“1”。所以结果