草庐IT

Divisible_by

全部标签

sql - MySQL GROUP BY 行为

给定下表'foo'ID|FirstName|LastName----------------------------67JohnSmith----------------------------67BillJacobs以下查询将返回什么first_name和last_name,为什么?SELECT*FROMfooWHEREID=67GROUPBYID 最佳答案 MySQL任意选择一行。在实践中,常用的MySQL存储引擎返回组中第一行的值,与物理存储相关。createtablefoo(idserialprimarykey,catego

mysql - 返回 MySQL 中每个 'last' 的 'group by' 行

是否有更有效的方法来执行以下操作?select*fromfooasawherea.id=(selectmax(id)fromfoowhereuid=a.uidgroupbyuid)groupbyuid;)这个答案看起来很相似,但是这个答案是最好的方法吗-HowtoselectthefirstrowforeachgroupinMySQL?谢谢,克里斯。附:表格如下:CREATETABLEfoo(idINT(10)NOTNULLAUTO_INCREMENT,uidINT(10)NOTNULL,valueVARCHAR(50)NOTNULL,PRIMARYKEY(`id`),INDEX`ui

mysql - SQL ORDER BY 路由信息

我有一个包含随机顺序的路由信息​​的表,如下所示:fromtostreet----------------------------------9291LangePoten100104Bagijnestraat8579KortePoten9185Plein79100Bezuidenhoutseweg我正在尝试找到一种使用路线信息对其进行排序的方法,其中当前行的to列与下一行的from列匹配.在示例中,我想要的顺序是:fromtostreet----------------------------------9291LangePoten9185Plein8579KortePoten7910

mysql - 当查询有 GROUP BY 时如何获得总数的百分比?

假设我有一个包含电影Actor姓名和他们看过的电影的非标准化表格。例如。CREATETABLEmovies_actors(movies_actors_idINT,movieVARCHAR(255),actorVARCHAR(255),PRIMARYKEY(movies_actors_id));我做了一个SELECTactor,COUNT(1)FROMmovies_actorsGROUPBYactor来找出这个Actor演过多少部电影。但我也想知道那个Actor的电影比例已经进去了。我想我可以这样做:SELECTactor,COUNT(1)AStotal,COUNT(1)/(SELECT

mysql - MySQL 中的默认排序顺序(ALTER TABLE ... ORDER BY ...;)

假设通过执行以下操作更改了MySQL表(ISAM)的默认顺序:ALTERTABLEtablenameORDERBYcolumnnameASC;从现在开始,假设我的查询中没有指定“ORDERBY”(即“SELECT*FROMtablename”),我是否保证按照“列名ASC”的顺序从表中检索记录哪里...限制10;")?有什么我应该注意的极端情况吗?更新#1:非常感谢Quassnoi,他正确地指出了INSERT和DELETE会打乱顺序。这导致我提出以下额外问题:更新怎么样?假设没有对表进行INSERT或DELETE,而只有更新-排序顺序是否完整?假设进行了INSERT和DELETE——我

mysql - SQL 在 GROUP BY 中显示最近的记录?

我有一个看起来像这样的表:id|SubjectCode|Grade|DateApproved|StudentId1SUB1231.251/4/20122012-123452SUB1232.001/5/20122012-123453SUB1233.001/5/20122012-98765我正在尝试按SubjectCode进行分组,但我希望它显示最新的DateApproved,因此它看起来像:id|SubjectCode|Grade|DateApproved|StudentId2SUB1232.001/5/20122012-123453SUB1233.001/5/20122012-9876

mysql - 如何 ORDER BY varchar 字段作为数字?

我在排序/排序方面遇到问题,无法按我需要的方式工作。SELECT`proc`FROM`table`ORDERBY`proc`DESC;结果:80.0proc70.0proc60.0proc50.0proc40.0proc200.0proc20.0proc190.0proc180.0proc170.0proc160.0proc150.0proc140.0proc130.0proc120.0proc110.0proc100.0proc我需要的是:200.0proc190.0proc180.0proc170.0proc160.0proc150.0proc140.0proc130.0proc1

mysql - 使用 ORDER BY 时查询速度慢

这是查询(最大的表有大约40,000行)SELECTCourse.CourseID,Course.Description,UserCourse.UserID,UserCourse.TimeAllowed,UserCourse.CreatedOn,UserCourse.PassedOn,UserCourse.IssuedOn,C.LessonCntFROMUserCourseINNERJOINCourseUSING(CourseID)INNERJOIN(SELECTCourseID,COUNT(*)ASLessonCntFROMCourseSectionGROUPBYCourseID)C

mysql - MySQL中的"IDENTIFIED BY '密码'"

我经常在许多MySQL教程中看到人们在创建用户和授予用户权限时都使用命令IDENTIFIEDBY'password'。例如:CREATEUSER'username'@'localhost'IDENTIFIEDBY'password';GRANTALLPRIVILEGESONdatabase.*TO'username'@'localhost'IDENTIFIEDBY'password';我尝试在不使用IDENTIFIEDBY的情况下使用GRANT并且它有效。有人能解释一下为什么它被使用了两次吗?是否可以为特定权限设置其他密码? 最佳答案

MySQL:总 GROUP BY WITH ROLLUP 好奇心

我有两个问题。其中一个对我有意义,另一个对我没有意义。第一个:SELECTgenderAS'Gender',count(*)AS'#'FROMregistrationsGROUPBYgenderWITHROLLUP这给了我这个:Gender#Female20Male19NULL39所以,我得到了计数和总计数。我所期望的。下一个:SELECTc.printable_nameAS'Country',count(*)AS'#'FROMregistrationsrINNERJOINcountrycONr.country=c.country_idGROUPBYcountryWITHROLLUPC