草庐IT

C# MySQL 求和 InvalidCastException

我有一个查询,我在其中尝试获取总和值,但我得到了InvalidCastException。我的查询是:SELECTe.clockNr,e.firstName,e.LastName,e.unionName,i.pointsFROM(SELECTemployee.clockNrASclockNr,employee.firstNameASfirstName,employee.lastNameASlastName,Unions.nameASunionNameFROMemployee,UnionsWHEREemployee.active=1ANDemployee.unionId=unions.i

mysql - 将查询结果中的 id 外键替换为用户名

我有这个有效的查询:SELECTid,SUM(points)ASpointsFROMleaderboardWHEREroundtimeBETWEENLOCALTIMESTAMP-INTERVAL'24hours'ANDLOCALTIMESTAMPGROUPBYidORDERBYpointsDESCLIMIT25它可能返回这样的东西:idpoints------------15430172781692但是,我不想在结果中包含id,而是想将其替换为与id对应的用户名(来自users表)用户表:idusername-------------15Frank16Joe17Andy这样第一个查询的

mysql - 有效地选择前 n 行

所以我有一个表,可能有数百万行,user|points---------------user1|10user2|12user3|7...并且想要SELECT*FROMmytableORDERBYpointsLIMIT100,1000现在工作正常,但速度非常慢(在大表上),因为它拒绝使用任何类型的索引,而是执行全表扫描。我怎样才能使它更有效率?我的第一个(明显的)想法是在pointsDESC上使用索引,但后来我发现MySQL根本不支持这些。接下来,我尝试反转points的符号,这意味着基本上在-points上有一个升序索引,这也没有帮助,因为它不使用索引进行排序最后,我尝试使用force

php - MySQL - 唯一行的平均值

如果我有三列:id,user,points我的数据是:+-------+------------------+-------------+|id|user|points|+-------+------------------+-------------+|1|A|100|+-------+------------------+-------------+|1|A|200|+-------+------------------+-------------+|2|B|300|+-------+------------------+-------------+|2|B|400|+------

MySQL : How to count the position of the results in a Select?

这个问题在这里已经有了答案:RankfunctioninMySQL(13个答案)关闭3年前。我需要计算结果在Select中的位置——比如RANKING。我有这个:"SELECTPLAYERID,SUM(POINTS)ASPOINTSFROMTABLE1GROUPBYPLAYERIDORDERBYPOINTS"我明白了:PLAYERIDPOINTS420021501100380我需要知道PlayerID=1在排名中的位置。我不是MySQL专家-但可以这样计算结果:RKPLAYERIDPOINTS1420022150311004380类似于:“SELECTCOUNT...”非常感谢!丹尼尔

mysql - 将 SUM 的多个查询合并为一个结果

所以....我们有三个不同的表,它们与比赛有关,数据库在其中跟踪他们在每次比赛中获得的分数。比赛1、2和3。每次用户取得成就时,都会为该用户创建一个新行,其中包含额外的分数。因此,为了计算用户收到的所有积分,我使用了一个选择总和SELECTuserID,SUM(amount1)as"Contest1Points"FROM[Company].[dbo].[Contest1]WHEREuseridnotin(0,1)GROUPBYuserIdORDERBYuserid因为我还有两场比赛,所以我也对每场比赛都进行了查询...SELECTuserId,SUM(amount2)/.65AS"Ca

mysql - 按分数对 mysql 中的用户进行排名

我正在尝试根据我之前计算的分数对我的学生进行排名但问题是如果学生的分数相同,他们应该处于同一等级例如学生1获得满分学生2满分他们都必须排名为1;这是我的数据库的一个例子我想做的查询是(只是为了选择然后我可以将值插入我的列)SELECTa.pointscount(b.points)+1asrankFROMexamresultsaleftjoinexamresultsbona.points>b.pointsgroupbya.points;编辑更清晰:学生1分80学生2分77.5学生3分77.5学生4分77他们的排名应该是这样的学生1排名1学生2排名2学生3排名2学生4排名3我当前的查询返回

sql - mysql 分组依据

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

php - mySQL "Rank in Highscore"- 查询

嗨,世界各地的程序员,我正在开发一个项目,用户可以在其中做某些事情并获得积分。为了简化这个问题,假设我们有2个表user和points。--tableuser--tablepoints+---------------++-----------------------------+|id|name||id|points|user_id|+---------------++-----------------------------+|1Tim||151||2Tom||2101||3Marc||351||4Tina||4122||5Lutz||522|+---------------+|67

mysql - sql选择前10条记录

我有下表(点):recnouidunamepoints============================1aabc102bbac83ccvb124daty135fcyu9---------------------------------------------------我需要的是只显示前十条记录,每页显示5条记录。我有以下SQL语句:select*frompointswhereuidin(a,c)orderbyuidLIMIT1,5谢谢 最佳答案 对于第一页:SELECT*FROMpointspORDERBYpointsDE