【MySQL结合了COUNT,MAX和SUM】教程文章相关的互联网学习教程文章

mysql – 如果我不使用LIMIT,使用COUNT()和FOUND_ROWS()有什么区别?【代码】

使用之间有区别吗?SELECT COUNT()反对SELECT FOUND_ROWS()我知道当你有一个限制时应该使用发现的行,但如果你没有使用限制,那真的有什么区别吗?解决方法:您将以两种不同的方式获得相同的结果. COUNT()是在选择和分组数据时使用的aggregated function. FOUND_ROWS()是在另一个选择之后用于获取有关所发生事件的信息的information function. 如果你只需要COUNT()的行数,那就更快了. 像这样:select count(*) as number_of_rows from...

mysql – 关于COUNT的棘手SQL查询【代码】

这是两个架构表:Ships(name, yearLaunched, country, numGuns, gunSize, displacement)Battles(ship, battleName, result)典型的Ships元组将是:(‘New Jersey’, 1943, ‘USA’, 9, 16, 46000) 这意味着战舰新泽西州于1943年发射;它属于美国,装有9门16英寸(枪管或枪管内径)的枪,加重(以航空方式移位)46,000吨. 战斗的典型元组是:(‘Hood’, ‘North Atlantic’, ‘sunk’)那就是H.M.S.胡德在北大西洋的战斗中沉没.其他可能的结...

mysql – 即使删除所有行,COUNT(*)也需要很长时间【代码】

我有下表:CREATE TABLE Sdata(uid INTEGER, timestamp DATETIME, value REAL, FOREIGN KEY (uid) REFERENCES Series_uid(uid));有一次,这个表有~90M行.我查询SELECT COUNT(*)FROM Sdata;花了大约7分钟. 然后我继续DELETE FROM Sdata;.这个查询花了一个多小时,考虑到大尺寸,这是可以理解的.从Sdata删除所有行后,我再次运行COUNT.这次还需要大约7分钟. 我很困惑为什么COUNT仍然需要一段时间,即使表现在是空的.这里发生了什么?解决方...

mysql – 如何选择一个表列的COUNT,其中另一个表列中没有匹配项【代码】

我有两个基于ID号关系的MySQL表.我需要在第一个表中选择与第二个表中的任何ID都不匹配的ID计数.这是我试过的:SELECT COUNT(DISTINCT(ask_questions.id)) FROM ask_questions INNER JOIN ask_answers ON ask_questions.id != ask_answers.question_id;我认为使用“!=”将返回不匹配的结果,但返回的数字不正确.有更好的解决方案吗?解决方法:使用LEFT JOIN,因为你想获得在另一个表上没有至少匹配的ID.SELECT COUNT(DISTINCT(ask...

mysql – 用ActiveRecord解释COUNT查询【代码】

我想做类似以下的事情:Post.count.explain # doesn't work这失败是因为EXPLAIN是关系上的方法而Post.count不是关系.它只是一个常规整数,是查询的结果.那么计数查询怎么能被解释?解决方法:这是一个生成完全相同的SQL查询的表单,但返回一个Relation来调用explain:Post.select('count(*)').explain 两者都生成SQLSELECT COUNT(*) FROM `posts`…所以查询计划应该是相同的.

MySQL有子句和Count()【代码】

我有下表,我正在尝试检索每一个:名称,descr,股票,地址,邮政编码&城市 item1的库存是> 10项目2的库存> 10,项目3的库存>五 所以我不希望只包含item1和item2的行,比如ID = 2的行 ID = 1的行也不适合,因为item1的库存是< 10这意味着只有ID 3和ID 4的行匹配.但我不想看到6排,我只需要两排!包含名称,descr,股票,地址,邮政编码,城市 | ID | NAME | DESCR |?STOCK | ADDRESS | POSTALCODE | CITY | | 1 | foo | item1 | 5 | addr1...

mysql – MAX和Count之间的替代【代码】

我希望得到作者所写书籍的最大数量与每位作者所写的数量之间的差异.SELECT count(book_name) contar, (MAX(C.qty) - count(book_name)) final FROM (select B.author_id, count(book_name) qty FROM author A ,BOOK B WHERE A.author_id = B.author_id GROUP BY b.author_id) C , author A, BOOK B WHERE A.author_id = B.author_id AND B.author_id=C.Author_idAND date_release BETWEEN NOW() - INTERVAL 20 YEAR AND NOW() ...

mysql – SELECT重复/重复值,计数N不带COUNT或GROUP BY【代码】

假设我有一个人员ID(1-8)和人物角色(1-4)表:CREATE TABLE personRole ( PersonId int NOT NULL, RoleId int NOT NULL );INSERT INTO personRole VALUES (1, 1), (1, 2), (2, 1), (2, 3), (3, 3), (4, 3), (1, 4), (5, 2), (6, 1), (7, 1), (7, 4), (8, 1), (8, 2), (8, 4) ;我的目标是选择拥有3个或更多角色的人员ID,角色特别是1,2和4.这是我的第一个解决方案:SELECT PersonId FROM personRole WHERE RoleID in (1,2,4) GROUP BY...

mysql – 包含和不包含GROUP BY的COUNT(*),没有匹配的行【代码】

考虑具有以下记录的关系表(Balance,Customer):现在我尝试了these two queries here:-- Query 1: select A.Customer, count(B.Customer) from account A, account B where A.balance < B.balance group by A.Customer;-- Query 2: select A.Customer, count(B.Customer) from account A, account B where A.balance < B.balance;第一个查询没有输出.使用第二个查询,我得到一个count = 0的输出. 在这两种情况下,没有满足where子句中...

mysql – “select count(null)”和“select count(1)”之间的差异【代码】

在MySQL中Select 1 from mytable和select null from mytable两者都返回相同的行数.从mytable中选择count(1)返回rowcount并从mytable中选择count(null)时总是返回0.为什么?解决方法:COUNT返回非NULL值的数量,这就是为NULL返回0的原因.

MySQL – 为什么COUNT的“大于”快但“小于”需要永远?【代码】

SELECT count(*) c FROM full_view WHERE verified > ( DATE (NOW()) - INTERVAL 30 DAY)如果我运行该查询,它需要一瞬间,但如果我切换比较运算符,它需要很长时间.现在第一种方式count = 0,第二种方式count = 120000,但如果我只计算整个表也需要微秒. 但是有一些东西很时髦,因为如果查询完成它之后会非常快速地运行. MySQL正在缓存查询或者其他什么?好吧,我不想依赖缓存来确保网站不会挂起. 这似乎是荒谬的:如果它可以快速计算大于...

在MySQL 5中,SELECT COUNT(1)FROM table_name非常慢【代码】

我有一个MySQL 5.0数据库,其中包含几个包含超过50M行的表.但我怎么知道这个?当然,通过运行“SELECT COUNT(1)FROM foo”.对包含58.8M行的一个表的查询需要10分钟才能完成!mysql> SELECT COUNT(1) FROM large_table; +----------+ | count(1) | +----------+ | 58778494 | +----------+ 1 row in set (10 min 23.88 sec)mysql> EXPLAIN SELECT COUNT(1) FROM large_table; +----+-------------+-------------------+-------+-----...

mysql – 与DISTINCT不一致的COUNT【代码】

我已经按字段daynumber分区了一个表.在白天,我写入此表日志,然后计算一些统计数据.桌很大;每天我都有~3M新行. myField字段已编入索引. 这个查询SELECT COUNT(DISTINCT myField) FROM mytable WHERE daynumber=somevalue; 返回0,这是一个错误. 这个查询SELECT COUNT(*) FROM (SELECT DISTINCT(myField) FROM mytable WHERE daynumber=somevalue) t;返回正确的值. 对于某些daynumber值,第一个查询工作正常.我试图重复该分区,但没有效...

MySQL – 一起使用COUNT和LIMIT函数【代码】

我有一个包含14个条目的’Labs’表. 查询SELECT COUNT(Labs.sid)FROM Labs LIMIT 0,18446744073709551615返回“14”. 但是查询SELECT COUNT(Labs.sid)FROM Labs LIMIT 1,18446744073709551615返回“0”(不是我预期的13).实际上,当我设置LIMIT行偏移值2,3,4等时,仍然会返回“0”. 为什么是这样?有没有办法只使用mysql确定指定偏移量后的行数? FWIW我正在使用MySQL 5.5.9和InnoDB数据库引擎.解决方法:在执行计数后应用限制. 试试这...

mysql – 涉及count的非常基本的SQL查询【代码】

假设我有以下架构Company: -> company_id -> company_nameBuilding_to_company: -> building_id -> company_id因此,每个建筑物都有自己的ID以及与单个公司相关的公司ID. 以下查询提供两列 – 一列用于公司名称,然后是其关联的建筑物.SELECT company.company_name, building_to_company.building_id FROM company, building_to_company WHERE company.company_id = building_to_company.company_id;返回的表看起来像这样:Company...