草庐IT

MySql COUNT(*) 返回 1 而不是 0

我有一个sql查询来获取每个组的用户数并按它们对所有组进行排序。但不幸的是,sql认为user_count为1,而实际上它必须为0。如果用户数大于0,则取正确的值。这是我的sql查询:SELECTG.id,COUNT(*)user_countFROMgroupsGLEFTJOINusersUONG.id=U.group_idGROUPBYG.idORDERBYuser_count在groups表中,我在id字段中有组ID,在users表中,我在字段中有用户及其组IDgroup_id我的SQL不太好,所以我可能犯了一些非常愚蠢的错误。如果您能提供帮助,请提前致谢。

mysql - 从另一个选择语句更新表

我正在尝试通过从另一个表中选择数据来更新我的列。我想出了这个SQL,它将从两个表中选择数据并将其更新到我的主表。SQL如下。UPDATEactivityaSETa.amount=v.amount,a.count=v.countFROM(SELECTid,Sum(actual)amount,Count(id)countFROMamount_firstWHEREstatus=1ANDupdated>=1538323200ANDupdated=1538323200ANDcreated但是,我得到了这个错误ErrorCode:1064.YouhaveanerrorinyourSQLsyntax

mysql - SQL:根据多个条件统计行数,单个查询

我有一个MySQL表,其中有一个名为score的列,它是一个介于0-1之间的float。我想计算分数所在的行数:大于0.1大于0.3大于0.6大于0.95我可以这样运行查询:SELECTCOUNT(*)FROMmy_tableWHEREscore>0.1并为每个值执行此操作。不过,我想在单个查询中执行此操作。因此,所需的输出格式类似于:low,medium,high,very_high20015612396有什么建议吗?我认为它涉及到casewhen,类似于:SELECTCOUNT(*),CASEWHENscore>0.1THEN"low"CASEWHENscore>0.3THEN"m

mysql - 如何在sql查询中使用min作为条件

cat使用min作为条件where语句出了问题,但我无法修复它selectcategory,count(*)asnumber_of_catsfrombookswherenumber_of_cats>min(number_of_cats)groupbycategoryorderbycategory; 最佳答案 有+子查询selectcategory,count(*)asnumber_of_booksfrombooksgroupbycategoryhavingcount(*)>--checktheonewhosecountisSTRIC

php - MYSQL 具有总计的不同值

尝试返回已解决工单的所有用户的列表以及他们解决的工单数量。此代码有效,但在while循环内查询似乎是不好的做法。有没有更高效的方法?//Getalluserswhohaveresolvedaticket$stmt=$db->prepare("SELECTDISTINCTresolvedbyFROMtickets");$stmt->execute();while($rows=$stmt->fetch()){$user=$rows['resolvedby'];echo"$user";//Echoeachuser$new=$db->prepare("SELECTcount(resolvedb

sql - 在单个 SQL 语句中使用多个 COUNT 和 SUM

我有一个名为pages、page_views、page_items和page_votes的表。后三个表包含一个page_id外键,以便记录属于页面的每个单独的View、项目和投票。当我查询一个页面时,我还想检索COUNTpage_views、COUNTpage_items和SUMpage_votes.vote。我在下面粘贴了一个查询。它检索总View数。我进行了各种尝试来为其添加项目和投票,但结果要么是语法错误,要么是View/项目/投票作为相同且“错误”的数字返回,这可能是由于我加入的方式。如何向该查询添加项目和投票?SELECTPage.*,COUNT(*)ASviewsFROMp

sql - mysql 分组依据

假设我有一个投票表,用户可以在其中对值进行向上、向下或持平的投票。假设每次进行正确的投影时用户都会得到一个点。在每个周末我想显示一些统计数据。类似于:SELECTuser_id,sum(user_points)assum_pointsFROMvoting_resultsWHEREvoting_date>('2009-09-18'-INTERVAL1WEEK)GROUPBYuser_idORDERBYsum_pointsDESC很好。这将为我提供一个很好的列表,其中“最佳猜测”用户首先出现。这是我的问题:我如何在同一个查询中获取每个用户在给定时间段内投票的次数?换句话说:我想要一个计数-

MySQL 统计总行数

我有一个复杂的MySQL查询需要花费大量时间,从一个包含超过150k行和多个JOINS和子查询的表中进行选择。我限制了结果的数量,但我需要知道总行数。有没有办法不重复以COUNT(*)作为字段的查询来获取它们?(重复查询几乎使脚本完成所需的时间加倍) 最佳答案 MySQL有一个名为SQL_CALC_FOUND_ROWS的子句,您可以将其放在SELECT之后和任何字段名称之前。然后你调用第二个查询,它只是SELECTFOUND_ROWS()ASrows,它会告诉你前一个查询找到了多少行。

mysql - cakephp 一年中每月 COUNT 个项目

您如何使用cakephp来计算一年中每个月发布的帖子数?最好使用Model->find('count')并获取数组中的数据。 最佳答案 我只是做了类似的事情,只使用CakePHP(没有直接查询)。它适用于CakePHP2,尚未在1.x中测试。您的示例代码如下所示:$params=array('recursive'=>-1,'fields'=>array('id','MONTH(created)')'group'=>array('YEAR(created)','MONTH(created)'));$numberOfPosts=$thi

MySQL count() 查询返回行而不是总数?

这个查询可能有什么问题:selectcount(customer_email)asnum_prevfrom_pj_cust_email_by_datewhereorder_date0;返回行结果,例如:1232154当我试图获取在指定日期范围内购买的客户总数的完整计数时?_pj_cust_email_by_date是一种仅以YYYY-MM-DD格式返回电子邮件地址和订单日期的View。除了这个View,我无权使用任何东西。 最佳答案 GROUPBY导致了这种情况。它导致每组返回一个结果行,在此针对customer_email的每个不