草庐IT

MYSQL - 将 SUM 与 JOIN 结合使用

好的,所以我有4个表。users表,包含列id和name。groups表,包含列id、name和owner。items表,包含列group和content。content表,包含id、name和duration列。每个用户可以有多个组。每个组中可以包含多个项目。每个项目代表一个内容。我希望能够列出所有组,以及该组内每段内容的所有持续时间的总和。我一直在尝试的是:selectgroups.id,groups.name,users.name,sum(content.duration)asdurationfromgroupsjoinusersongroups.owner=users.idjo

mysql - 要选择的 SQL 查询,直到 SUM(users_count) 达到 1000

我需要一个sql查询来从我的消息队列中选择行,直到SUM(users_count)达到最多1000。但是如果只有一行返回并且该行的users_count是大于1000。我需要类似的东西:(我添加了自己的关键字)SELECT*FROM`messages_queue`UNTILSUM(users_count)这是我的表结构:messages_queue-msg_id-msg_body-users_count(numberofmessagerecieptors)-time(inserttime) 最佳答案 此解决方案将执行累积求和,当总和

php - 使用 : the MySQL or PHP md5 function? 什么更快/更好

我根据数据库检查了用户的密码。什么更快,MySQLMD5函数...pwd=MD5('.$pwd.')或者PHPMD5函数...pwd='.md5($pwd).'这两个选项之间正确的方法是什么? 最佳答案 如果您的应用程序仅在有人在您的站点上注册或登录时才计算md5,那么您每小时会多次调用md5吗?几百?如果是这样,我认为PHP和MySQL之间非常小的区别根本不会很重要。问题应该更像是“我应该把密码是使用md5存储的事实放在哪里”而不是“是什么让我几乎什么都没赢”。并且,作为旁注,另一个问题可能是:您可以在哪里负担得起为此类计算花费的

mysql - 了解 MySQL 中的 SUM(NULL)

通常当NULL涉及任何方程时,整个结果将解析为NULL(例如SELECT2+NULL+5返回NULL)以下情况同样适用:SELECTSUM(NULL)返回NULL。命题#1当SUM用于聚合列并且该列也可以包含NULL值时会发生什么?基于proposition#1为什么输出不会导致NULL。CREATETABLEt(ageINTNULL);INSERTINTOt(age)VALUES(15),(20),(NULL),(30),(35);SELECTSUM(age)FROMt;输出:100但我期待NULL。在这种情况下,MySQL是否会默默地跳过那些NULL值?http://sqlfidd

mysql - 基于其他列的 SUM(DISTINCT)

我目前有一个看起来像这样的表:+------+-------+------------+------------+|id|rate|first_name|last_name|+------+-------+------------+------------+我需要做的是获取费率列的SUM,但每个名称只获取一次。例如,我有三行姓名JohnDoe,每行的费率为8。我需要这些行的SUM为8,而不是24,因此它会为每组姓名计算一次费率。SUM(DISTINCTlast_name,first_name)当然不起作用,因为我试图对比率列求和,而不是对名称求和。我知道在计算单个记录时,我可以使用CO

php - 我可以将 VARCHAR(32) 用于 md5() 值吗?

我可以在MySQL数据库中使用长度为32且类型为VARCHAR的字段作为md5()值吗? 最佳答案 因为md5总是产生固定长度的结果,最好使用CHAR(32) 关于php-我可以将VARCHAR(32)用于md5()值吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/14922208/

php - MYSQL 更新使用跨多个表的 sum() 结果

这个位很好用:SELECTproducts_id,sum(attributes_stock)FROMproducts_attributesGROUPBYproducts_id这会将attributes_stock列中的所有字段组加在一起。我遇到的问题是让这个结果更新另一个表中的另一个列。这就是我所拥有的:UPDATEproducts,products_attributesSETproducts.products_quantity=sum(products_attributes.attributes_stock)GROUPBYproducts_attributes.products_id

MySQL MD5 选择

以下查询返回null。SELECT`email`,`password`,`salt`FROM`users`WHERE`password`=md5(`salt`+md5('123123'+`salt`)+'123123')AND`email`='xeka@xeka.ru'以下查询返回“d2b4312db21705dafd96df14f8525fef”,但为什么?SELECTmd5('Vwm'+md5('123123'+'Vwm')+'123123')此代码返回“422ad0c19a38ea88f4db5e1fecaaa920”。$salt='Vwm';$password='123123'

mysql - 使用 SUM() 而不对结果进行分组

我已经阅读了(this),但无法找到一种方法来解决我的具体问题。我知道SUM()是一个聚合函数,不这样使用它是没有意义的,但在这种特定情况下,我必须SUM()all的结果,同时保持每一行。这是table:--ID----amount--1232113847我需要SUM()金额,但保留每条记录,所以输出应该是这样的:--ID----amount--149249349449我有这个查询,但它只对每一行求和,而不是将所有结果加在一起:SELECTa.id,SUM(b.amount)FROMtable1asaJOINtable1asbONa.id=b.idGROUPBYid没有SUM()它只会

php - MYSQL 使用 SUM() 选择查询

我有下表:|campaign_id|source_id|clicked|viewed|----------------------------------------------|abc|xxx|0|0||abc|xxx|1|0||abc|xxx|1|1||abc|yyy|0|0||abc|yyy|1|0||abc|yyy|1|1||abc|yyy|0|0|我需要以下输出:xxx>Total:3//Clicked:2//Viewed1yyy>Total:4//Clicked:2//Viewed1我知道我必须在查询中使用某种SUM(),但我不知道如何区分source_id中的那些多个唯一