【使用MySQL GROUP BY表达式计数时如何包含零】教程文章相关的互联网学习教程文章

MySQL查询的平均值和计数大于一个值【代码】

我有一个表tbl_emply,其中包含每个员工的薪水,DNO和EID字段.我需要找到拥有两名以上员工的每个DNO的平均薪水.我已经尝试过查询 > select avg(salary),DNO from tbl_emply where count(select * from tbl_emply group by(DNO)>2);> select avg(salary),DNO from tbl_emply group by(DNO);但是这些都给了我无效的分组依据.如何获得结果?解决方法:使用HAVINGSELECT AVG(salary), DNO FROM tbl_emply GROUP BY DNO HAVING COUNT(*...

MySQL计数总行数

我有一个复杂的MySQL查询,该查询要花费很多时间,要从具有超过15万行和几个JOINS和子查询的表中进行选择.我限制了结果的数量,但是我需要知道行的总数. 有没有一种方法不重复使用COUNT(*)作为获取字段的查询? (重复查询几乎使脚本完成所需时间增加了一倍)解决方法:进行两个查询实际上可能更快(因此您可能只想进行一些快速测试): > http://www.mysqlperformanceblog.com/2007/08/28/to-sql_calc_found_rows-or-not-to-sql_calc_foun...

mysql-如果计数大于20,如何从表中删除【代码】

我有一个mysql表,添加??其他记录之前只需要包含20条最新记录.每天都会添加新行,因此我希望它首先删除最早开始的大于20条允许的记录. 该表包含一个自动递增的“ id”列,因此我可以轻松确定哪个是最早的记录. 谢谢你的帮助.解决方法:您可以在查询中使用LIMIT关键字指定偏移量,以便保留最新的20行.但是,根据MySQL的文档,没有简单的方法来限制从偏移量一直到最后一个偏移量.相反,他们建议这样做:To retrieve all rows from a certain ...

MySql多次计数同一列【代码】

SELECT COUNT(w.invoiceId) AS '10 Days' FROM tbl_Invoice w WHERE w.invoiceId NOT IN( SELECT inv.invoiceId FROM tbl_InvoiceAllocation inv) AND w.invoiceDate < DATE_SUB(curdate(), INTERVAL 10 DAY)它工作正常,并返回日期超过10天的所有发票的计数.我现在想返回在同一查询中也已超过20天和100天的发票的计数.因此理想情况下,查询将返回以下内容:10 Days 20 Days 100 Days350 280 90解决方法:使用指定...

mysql-仅在两个不同的列中计数空值,并在一个select语句中显示【代码】

我只想计算特定列中的空值,而计算另一列中的所有空值特定列,但是我希望我的结果在一张表中同时显示这两个结果. 这是我到目前为止所拥有的:Select Count(*) as 'Column1Count', Count(*) as 'Column2Count'from table1Where column1 is nulland column2 is null请帮忙解决方法:这应该工作:select(select count(*) from table1 where column1 is null) as 'Column1Count',(select count(*) from table1 where column2 is null) as ...

mysql-SQL计数和组【代码】

我有一个看起来与此类似的MySQL-db表:id date class more_info_one more_info_two etc 1 2017-05-03 1 … … … 2 2017-05-03 3 … … … 3 2017-05-11 1 … … … 4 2017-05-05 1 … … … 5 2017-05-12 2 … … …...

mysql:如何INNER JOIN表,但限制联接到具有最高投票或计数的1结果?【代码】

我有2张桌子.一个是项目,另一个是这些项目的投票.Items table has: |item_id|name|post_date Votes table has: |votes_id|item_id|answer|total_yes|total_no我想做的是显示所有基于post_date的项目,并在投票表中以最高total_yes显示答案.因此,我只想显示total_yes投票最高的投票表中的单个答案. 我正在尝试:SELECT a.*, b.* FROM Items a INNER JOIN Votes b ON a.item_id = b.item_id GROUP by a.item_id ORDER by a.post_date ...

合并分组并计数mysql【代码】

我需要使用group by查找表中的所有状态:SELECT status FROM table GROUP BY status然后计算发现的结果SELECT count(id) WHERE status = [STATUS]像这样的表:+--------------------+ | ID | STATUS | NAME | +--------------------+ |0001| BOUGHT | JOHN | ---------------------- |0002| BOUGHT | JOHN | ---------------------- |0003| CANCEL | JOHN | ---------------------- |0004| BOUGHT | JOHN | ------------------...

MySQL计数仅返回一个结果,除非使用group by【代码】

使用SQL查询select u.name,count(u.name) as 'followers' from user u,follow f where u.type = 'c' AND f.followee = u.email group by u.name为我的数据库中的所有用户提供了正确的值,但是,没有逐行分组的完全相同的查询仅给我第一个值.我是第一次学习SQL,并且很难弄清楚为什么这样做.解决方法:当您使用不带分组的计数时,它将对所有记录进行计数并返回单行;而当您使用带分组的计数时,它将基于用户的名称对用户进行分组,并返回每...

mysql-根据SQL中的日期对列进行计数【代码】

我需要有关SQL语句的帮助.目标是计算每个日期的警报数量.我的桌子看起来像这样:|----DATE----|---COUNTER---|---ALARM_ID---| |2012-01-01 | 30 | 1 | |2012-01-01 | 20 | 2 | |2012-01-01 | 10 | 3 | |2012-01-02 | 5 | 1 | |2012-01-02 | 25 | 2 | |2012-01-02 | 12 | 3 | |2012-01-03 | ...

mysql-即使没有添加记录,INSERT IGNORE也会增加自动递增计数器?【代码】

在MySQL中,我使用INSERT IGNORE语句向表中插入行.因为一列是唯一的,所以未插入某些行(因为它们已经在那里).执行完该语句后,我注意到自动递增列在行之间缺少一些数字,后来我意识到这是由于忽略和未添加行而发生的. 如果没有使用IGNORE子句插入任何行,是否可以将系统设置为不增加自动递增计数器?解决方法:从manual page for INSERT报价:If you use the IGNORE keyword, errors that occur while executing theINSERT statement are...

mysql-需要查询两个字段的不同组合,以及发生不同组合的计数【代码】

我需要的是对表的查询,该查询将返回列A和B的不同组合,以及表中每种组合发生多少次的计数.所有这些都将按列A排序. 如果表是:A B ....... 1 1 1 1 1 1 1 2 2 1 2 1结果将是:A B count 1 1 3 1 2 1 2 1 2任何帮助都会很棒.解决方法:GROUP BY是您的朋友在这里:select a,b,count(*) from test group by a,b order by aSQL小提琴:http://sqlfiddle.com/#!9/062b0e/5

MySQL按组计数【代码】

嗨,我在mysql DB上有下表.╔═══════════╦═════════╦════════╦════════════════╗ ║ REVIEW_ID ║ USER_ID ║ STATUS ║ DATE_ADDED ║ ╠═══════════╬═════════╬════════╬════════════════╣ ║ 218 ║ 2 ║ cool ║ 20130121134811 ║ ║ 218 ║ 2 ║ cool ║ 20130121134812 ║ ║ 218 ...

mysql-第1行CSV输入中的无效字段计数【代码】

我试图将ODS文件导出为CSV,但是当我导入phpmyadmin时-我收到“第1行CSV输入中的无效字段计数”. 文件(具有两行以上,但方案相同):"Administra??o da Guarda Nacional Republicana" "Administra??o de Publicidade e Marketing"表:CREATE TABLE IF NOT EXISTS `profession` (`id_profession` int(11) NOT NULL,`profession` varchar(45) DEFAULT NULL,`formation_area_id_formation_area` int(11) NOT NULL,PRIMARY KEY (`id_profe...

mysql-使用unix时间戳在一个月内进行SQL计数记录【代码】

我试图返回每个月内的记录数,并将结果按月/年分组. 模式看起来像这样:id title timestamp我一直在搜索,但无法获得预期的结果.谢谢.解决方法:格式化时间戳,然后将其分组. 按月分组:SELECT DATE_FORMAT(t.timestamp, "%Y-%m") AS "_Month", COUNT(*) FROM yourtable as t GROUP BY _Month;按年份分组:SELECT DATE_FORMAT(t.timestamp, "%Y") AS "_Year", COUNT(*) FROM yourtable as t GROUP BY _Year;如果timestamp-field以...