我正在尝试从一个网络应用程序的数据库中提取值,管理员可以在该应用程序中将公司添加到指定行业的列表中。此请求需要提取每个行业的名称以及附属活跃公司的数量,作为主持人的概览。这些是我的表格:companies____________________________________|id|company|active||---------------------------|--------||12|Ton-o-BricksHaulage|0||16|Roofs'n'Walls|1||23|HandyServices|1||39|Carpentharry|1||---------------
我知道下面的查询是无效的,但我只是将它用作我想要实现的示例。基本上我想做的是获取所有行的COUNT()行,然后在一个查询中获取带有条件子句的行的COUNT()行。比如..SELECTCOUNT(*)ASfull_amount,COUNT(addressIFNOTNULL),COUNT(nameIFNOTNULL)FROMtable;现在,我在上面试图找出的是表格的完整计数,我还试图找出表格中“地址”和“名称”字段不存在的行数无效的。不是在它们都不为空的地方,而是在单独的地方。为了进一步解释,这就是我试图避免的多个查询的处理方式。SELECTCOUNT(*)FROMtableASamou
如何统计一张表中两列的记录,使用不同的查询条件?表格看起来像:user_id|date|status------------------------------1|2011-01-02|12|2011-01-03|13|2011-01-02|04|2011-01-03|11|2011-01-02|1我想在一个查询中计算两个值。第一个是按状态分组的user_id数,第二个是按日期分组的user_id数。我该怎么做? 最佳答案 您不能在同一个查询中使用不同的GROUPBY子句——每个计数都必须在一个独立的查询中。但是您可以使用子查询(S
我有两个表:用户表用户列表故事故事列表-每个用户有多个故事我想知道用户拥有的故事的平均数量。(不是特定用户,针对所有用户)预期结果:每位用户平均2.3个故事尝试过:selectavg(w)from(selectcount(distinctuser_id)aswfromstoriesgroupbyuser_id)a;以上运行但似乎不正确还有:SELECTuser_id,(SELECTCOUNT(*)FROMstorieswWHEREw.user_id=u.user_id)asTotalStoriesFROMuseru;返回每个用户的平均故事,而不是整体的平均数
我有一个表,用作自动排队的文件的保管箱。我根据两件事来排序文件的优先级,日期和时间,以及它是否已经过验证。这是我的查询:$dropcount=mysql_query("SELECTCOUNT(*)FROMqueueWHEREstatus=2ORstatus=3ORstatus=4ORDERBYauthorisedDESC,timestampDESC;");我需要做的是计算用户当前文件前面有多少行,因为这将计算每一行,包括当前用户后面的文件。谢谢。我的表格是这样的:http://tabbidesign.com/table.png它的工作方式是,如果一个文件被添加到队列中。但是,如果该文件
我想计算一段时间内的购买总数以及按item_id进行的购买。在这个例子中,一个用户可以拥有一个项目,这些项目可以被其他用户购买。所有者不能购买自己的元素。我遇到的问题是,对于没有购买的日子以及具有正整数计数的日子,如何返回计数为“0”的结果。这是我的表格:items|items_purchased|numbers|datesi_iditem_iduser_id|p_iditem_iduser_iddate|num|datefield1111|11132009-01-11|1|2005-06-072212|21142009-01-11|2|2005-06-083311|32152009-
我已经花了几个小时来解决这个问题,但我无法让计数正常工作。希望有人能帮忙?!我有一个项目表和任务表,链接在project_id上。我可以通过以下查询获取project_id、project_name和status_id:SELECTa.project_id,a.project_name,b.status_idFROMproject_listasaINNERJOINtask_listasbONa.project_id=b.project_id我想为每个项目选择一条记录,并根据status_id添加两个计数字段。在伪代码中:SELECTa.project_id,a.project_name
我有一个用户表:user_idname1John2Dan3Jane4Sophie5Jodie然后我有一个名为associates的表:user_idassoc_id1213343135415152我想做的是显示每个用户有多少关联,或者没有所以,结果会显示user_idNameNumberofAssociates1John22Dan03Jane34Sophie15Jodie2我正在尝试的是有效的,但没有显示0这就是我正在尝试的,如何获得0?SELECTu.user_id,u.name,count(a.user_id)ashowmanyfromusersujoinassociatesaon
假设我在表x中有一个名为source的列。个人条目可以像;Idc1c2source...1absomething2basomething3absomethingelse4casomethingelse5absomething6bcsomething如何删除源中相同元素少于3个的条目?例如,由于源值somethingelse出现了2次,我需要删除所有somethingelse的条目。 最佳答案 DELETEaFROMtableNameaINNERJOIN(SELECTsourceFROMtableNameGROUPBYSOURCEHA
我需要计算唯一用户ID的计数总和以计算每月唯一用户数,这需要每天完成。那就是今天它必须显示从今天开始的30天前的总和,而对于昨天,它需要从昨天前30天开始计算总和。像今天一样,它应该从27-04-2013开始计数,而对于昨天,它应该从26-04-2013开始计数。表结构如下:dateuidvisits27-04-2013114527-04-2013114526-04-2013114525-04-2013114524-04-20131145这类似于运行总计,但仅限30天。我像这样使用DATE_ADD(date,INTERVAL-30day)SELECTDISTINCTdate,COUNT