草庐IT

mysql - SELECT COUNT 查询在 MySQL 中抛出错误

我在本地主机上有一个名为webshop的数据库,其中有几个表。当我运行查询时:SELECTCOUNT(userId)FROMusers;它给我带来了以下错误:FUNCTIONwebshop.COUNT不存在。检查引用手册中的“函数名称解析和解析”部分我不知道为什么,因为查询对我来说似乎很好,有人吗? 最佳答案 去掉左括号前的空格SELECTCOUNT(userId)FROMusers;参见FunctionNameParsingandResolution(顺便说一句,这正是错误告诉您要做的!)

SQL(?) : Counting the time between two datetime values

当我只需要计算08:00:00-16:00:00之间的时间时,计算从MySQL获取的两个日期时间值之间的时间的最佳方法是什么。例如,如果我的值是2008-10-1318:00:00和2008-10-1410:00:00,时差应该是02:00:00。我可以用SQL来做吗?或者最好的方法是什么?我正在构建一个网站并使用PHP。感谢您的回答。编辑:确切地说,我正在尝试计算“票证”在工作时间内处于特定状态的时间。时间可能是几周。EDIT2:我计算实际时差没有问题,但减去每天的00:00:00-08:00:00和16:00:00-00:00:00的休息时间。-萨穆利

sql - MySQL COUNT() 多列

我正在尝试从我的数据库中的所有视频中获取最流行的标签(忽略空白标签)。我还需要每个标签的“flv”。如果每个视频都有一个标签,我可以按照自己的意愿工作:SELECTtag_1,flv,COUNT(tag_1)AStagcountFROMvideosWHERENOTtag_1=''GROUPBYtag_1ORDERBYtagcountDESCLIMIT0,10但是在我的数据库中,每个视频允许三个标签-tag_1、tag_2和tag_3。有没有办法从多个列中读取最流行的标签?记录结构为:+-----------------+--------------+------+-----+-----

MySQL - SUM 和 COUNT 有什么区别?

在MySQL中-使用SUM或COUNT有什么区别?SELECTSUM(USER_NAME='JoeBlow')SELECTCOUNT(USER_NAME='JoeBlow') 最佳答案 要更直接、更直接地回答OP问题,请考虑您是否对列中的整数而不是字符串进行总计。+----+------+|id|vote|+----+------+|1|1||2|-1||3|1||4|-1||5|1|+----+------+COUNT=5票SUM=1票(-2+3=1)Sum进行数学求和,而count只是将任何值计为1,而不管数据类型如何。

MySql COUNT(*) 在存储过程中不同

我正在开发一个“评分”系统,并试图通过使用一个存储过程来确保一个人不能提交两次成绩,该存储过程将检查一个人是否已经对特定项目进行了评分,然后才允许新的要保存的等级。奇怪的是,我正在传递用户ID和对象ID,但是当我的存储过程选择COUNT(*)时,我得到了错误的数字。这是我的存储过程:CREATEPROCEDURE`ADD_GRADE`(INobjectIDint,INgraderint)BEGINDECLAREgradeCountINT;SELECTCOUNT(*)FROMGRADESWHEREObj_ID=objectIDANDGrader=graderINTOgradeCount;

MySQL COUNT(CASE WHEN ... THEN DISTINCT 列)

我的查询:COUNT(CASEWHENYEAR(FieldValue)=YEAR(CURDATE())ANDMONTH(FieldValue)=MONTH(CURDATE())THEN1END)ASmtd我想要这样的东西:COUNT(CASEWHENYEAR(FieldValue)=YEAR(CURDATE())ANDMONTH(FieldValue)=MONTH(CURDATE())THENDISTINCTColumnIDEND)ASmtd这给出了一个错误。我不能使用GROUPBY。如果我在CASE之前添加DISTINCT它不起作用,或者它将FieldValue列视为DISTINCT

mysql - 如何在没有循环或游标的情况下概括时间顺序数据的顺序 COUNT()?

我已经阅读了所有的论点:告诉SQL你想要什么,而不是如何得到它。使用基于集合的方法而不是过程逻辑。不惜一切代价避免游标和循环。不幸的是,我已经绞尽脑汁好几个星期了,我想不出如何想出一种基于集合的方法来为按时间顺序排列的数据的连续子集生成迭代COUNT。下面是我正在研究的问题的具体应用。我使用包含多年逐场比赛数据的数据库进行与足球相关的研究,这些数据当然是按年份、比赛和比赛的时间顺序排列的。数据库加载到运行MySQL5.0的Web服务器上。这个特定问题所需的字段包含在core表中。以下是表格相关部分的一些示例数据:GID|PID|OFF|DEF|QTR|MIN|SEC|PTSO|PTSD

php - MySQL COUNT(*) 返回空结果集

我目前正在MySQL中的一个表上执行大圆距离计算。该表如下所示:+----------+---------+---------+|venue_id|lat|lng|+----------+---------+---------+|1|1.23456|2.34567|+----------+---------+---------+|2|1.23456|2.34567|+----------+---------+---------+|3|1.23456|2.34567|+----------+---------+---------+但是,当我尝试为返回的结果创建一个COUNT()时,MyS

mysql - count(distinct col_name) 与计算 select distinct 查询的行数不同吗?

我在MySQL数据库中有一个包含1100万行的表。其中一列是个人身份证号码。人们在表中被多次列出,我想知道有多少个唯一的个人ID号码。然后创建一个包含这些唯一数字的表格。当我计算列中不同的个人ID号码时,我得到的号码与我将它们直接插入表格时得到的号码不同。例如:selectcount(distinctperson_key)frombig_table;给我的计数是4,074,890。然后当我尝试用它们创建一个表时,insertintonew_tableselectdistinctperson_keyfrombig_table;它只创建了2,701,875行。(此外,如果我使用查询:sel

mysql - LINQ MySQL Group by Year, Month, Day 选择 Year, Month, Day, Count

varres=fromrindb.myTablegrouprbynew{Year=r.DateVal.Year,Month=r.DateVal.Month,Day=r.DateVal.Day}intogletCount=g.Count()selectnew{Year=g.Key.Year,Month=g.Key.Month,Day=g.Key.Day,Count=Count};不起作用。内部异常摘录:InnerException:MySql.Data.MySqlClient.MySqlExceptionHResult=-2147467259Message=Unknowncolumn'G