草庐IT

CREATED_BY

全部标签

mysql - GROUP BY 子句的别名?

在MySQL中,可以在SELECT子句中创建的GROUPBY子句中使用别名(参见MySQLReference)。我只是想知道为什么不能在GROUPBY中创建别名并在SELECT中使用它,它遵循SELECT语句的执行顺序。换句话说,为什么下面是不合语法的?SELECTregion,SUM(population)FROMpopulation_us_statesGROUPBYCASEstate_nameWHEN'CT'THEN'NewEngland'WHEN'RI'THEN'NewEngland'WHEN'MA'THEN'NewEngland'WHEN'ME'THEN'NewEngland'

mysql - UNION 和 ORDER BY 的奇怪结果

我有这个查询(简化):SELECTscoreFROMtblWHEREid=xxORDERBYscoreDESC;而且它工作正常。现在我向这个查询添加一个UNION,如下所示:(SELECTscoreFROMtblWHEREid=xORDERBYscoreDESC)UNION(SELECTscoreFROMtblWHEREid=y)现在第一个查询的所有第一个结果集都被弄乱了,不遵守ORDERBYscoreDESC 最佳答案 从tbl中选择分数,其中id=x联盟从tbl中选择分数,其中id=y按分数降序排列;只需将orderby添加到末

MYSQL 为什么 ORDER BY DESC 失败但 ORDER BY ASC 工作?

为什么这些查询中只有一个有效?作品:SELECT*FROM`global_rank`WHERErank_type=2ANDrank103ORDERBYrankASC失败(即返回0行):SELECT*FROM`global_rank`WHERErank_type=2ANDrank103ORDERBYrankDESC 最佳答案 您的sql查询没有问题,它们完美无缺。请检查您验证查询结果的方式。我知道有时我们会忽略结果(常见的人为错误)。 关于MYSQL为什么ORDERBYDESC失败但ORD

mysql - ORDER BY datetime 使查询非常慢

我正在尝试从多个表中提取数据,当我使用ORDERBY日期时间字段时,它会在至少10秒后返回结果,但如果我在没有ORDERBY的情况下执行相同的查询,则它会在2秒内返回结果。这是我当前的查询SELECTph.call_subjectAScallSubject,ac.account_nameASaccountName,DATE_FORMAT(ph.trigger_on,"%c/%e/%Y%h:%i%p")AStriggerOn,ind.nameASindustry,cc.call_code_nameAScallCodeFROMphone_callsASphINNERJOINaccounts

mysql - 根据 Group By 中的最大列选择行

我正在尝试为电子游戏创建高分板。有一个users表:还有一个分数表:我试过使用这个查询:SELECTMAX(`scores`.`score`)ASmax_score,`scores`.`team`,`users`.`name`FROM`scores`LEFTJOIN`users`ON`users`.`id`=`scores`.`user_id`GROUPBY`scores`.`user_id`ORDERBYmax_scoreDESCLIMIT50返回此结果(示例):如您所见,用户FUNTIMES的210得分被归因于eagles而它应该归因于vikings根据scores表(FUNTIM

mysql - 具有较大 LIMIT 范围的 ORDER BY 查询非常慢

MySQL5.6,64位,RHEL5.8使用ORDERBY和LIMIT'row_count'(或LIMIT0,'row_count')对大表进行查询。如果“row_count”大于结果集的实际计数,将会非常非常慢。情况1:下面的查询非常快(没有“LIMIT”):mysql>SELECT*FROMsyslogWHERE(ReportedTimeBETWEEN'2013-11-04'AND'2013-11-05')ANDPriority情况2:下面的查询也很快('LIMIT5'):mysql>SELECT*FROMsyslogWHERE(ReportedTimeBETWEEN'2013-1

mysql - 使用 order by 时获取行位置

我希望按顺序获取一匹马的行号,这样我就可以看到它在订单中的位置。我用过下面的代码SELECT`odds`,(SELECTCOUNT(*)FROM`tom_cards`WHERE`Racetime`="14:30"OrderBy`Odds`)AS`position`,`Horse`FROM`tom_cards`WHERE`Racetime`="14:30"把这创建所有位置为8>oddspositionHorse>100.008CentralSchool>1.258Coologue>1.108MaduFou>33.008Quintano>66.008TheMobb>12.008TheWes

MySQL:GROUP BY 上的非聚合字段会发生什么情况?

我对MySQL中的以下行为有一个非常基本的问题。假设我们执行以下GROUPBY:SELECTa,b,SUM(c)FROMtableGROUPBYb;a字段发生了什么变化,它既不聚合也不包含在GROUPBY字段中?MySQL是否只是隐式地将FIRST(a)应用于a?如果是这样,这种行为是否一致,或者它是否从a的所有值中获取随机值? 最佳答案 MySQL>5.7.5这是一个非法查询。您将收到如下错误:ERROR1055(42000):Expression#1ofSELECTlistisnotinGROUPBYclauseandconta

Mysql ORDER BY 和 LIMIT 慢查询

我有以下查询,它在销售表中的60,000条记录上花费了大约20秒。我知道ORDERBY和LIMIT导致了这个问题,因为当ORDERBY被删除时,它会在0.10秒内返回。我不确定如何优化这个查询,有什么想法吗?解释输出在这里https://gist.github.com/anonymous/1b92fa64261559de32daSELECTsale.saleIDasid,node.titleaslocation,sale.saleTotalastotal,sale.saleStatusasstatus,payment.paymentMethod,field_data_field_ban

mysql - 如何在mysql上使用 "group by"之前的 "join"?

我有以下查询,其中包含重复的user_id。我不想看到一个以上的用户。我决定按以下方式使用groupby:SELECTu.`ID`,u.`user_login`,u.`user_registered`,u.`display_name`FROMpurchase_keypLEFTJOINusersuONp.user_id=u.idWHERE(`product_id`=1OR`product_id`=2)AND`create_date`='2014-09-01'groupbyp.user_idorderbyp.`create_date`asc但是有没有办法在加入之前进行分组?