我有一个名为POINTS的mysql表,如下所示:userid1|userId2|points---------------------------1|1|31|1|21|2|52|1|41|3|5我正在尝试像这样创建此表的View:userId|gained|received|spent|current--------------------------------------------1|5|4|10|-12|0|5|4|13|0|5|0|5列的算法在哪里:userId,在POINTS表中的userId1或userId2列中找到的userId的唯一值得到,POINTS表中user
所以我创建了我的lil数据库,然后使用它。我添加了两个表,现在我想做的就是:当一个用户被插入到USERS表中时,还将一些默认信息插入到与新插入的用户相对应的USER_ACCOUNT表中。显然我做错了什么,但我不知道是什么......提前致谢。=)CREATEDATABASEREST_PROJECT;USEREST_PROJECT;CREATETABLEUSERS(UserIDINTPrimaryKeyAUTO_INCREMENTNOTNULL,UserEmailVARCHAR(30),UserPasswordVARCHAR(30));CREATETABLEUSER_ACCOUNT(Us
这是一个场景,我们想要检索特定的GroupId号。例如,只有3个用户的6表示UserId与2、1、3具有该特定组这是我尝试执行的查询SELECTgroup_idFROMgroup_usersWHEREgroup_idIN(SELECTgroup_idFROMgroup_usersGROUPBYgroup_idHAVINGCOUNT(*)=3)ANDuseridIN(1,2,3);SQLFiddleDEMO以下是上述查询的详细信息,这些信息已被分解SELECTgroup_idFROMgroup_usersGROUPBYgroup_idHAVINGCOUNT(*)=3group_id56S
假设您想在用户个人资料页面上显示最新的访问者。你将如何构建它?也许一个名为uservisitors的表:userid(获得访问的用户)visitorid(访客)时间您将如何使用mysql选择它?没有任何重复,我的意思是如果用户1访问用户2的个人资料,然后5分钟后再次访问,我不希望它只显示最新的两个条目干杯! 最佳答案 SELECTvisitorid,MAX(time)ASlastvisitFROMuservisitorsWHEREuserid=?GROUPBYuserid,visitoridORDERBYlastvisitDESCL
有一个像这样的SQL表用户ID|属性|值(value)1|用户名|马吕斯1|密码|富巴我想创建如下输出:1|马吕斯|富巴也许我只是太累了,不想看到它,听起来并不复杂,但我似乎就是想不通。感谢您的帮助。 最佳答案 为什么不使用自连接,即。:selectu1.userid,u1.value,u2.valuefromyourtableu1innerjoinyourtableu2onu2.userid=u1.useridwhereu1.attribute='Username'andu2.attribute='Password';
好的,我正在创建一个小型社区网站。用户加入我的网站,他可以选择输入他的信息上传照片添加friend并张贴到他的墙上。现在我想知道如何实现相册表。相册具有以下属性:albumIDalbumNamealbumCoveralbumDescriptionalbumDatealbumPrivacyenumuserIDusername现在我想知道如何将专辑表与用户表链接起来。每个用户都有自己的ID和用户名。usersId为主键,用户名唯一。1个用户可以拥有多个相册。1个相册只能属于1个用户。我怎样才能建立关系???请帮忙,因为我不太擅长数据库,我想以优化和安全的方式完成工作。到目前为止,我使用us
我有一个mysql表private_messages(pm),如下所示:用户id---发件人---文本而Userid和Sender都是来自表user的ID。现在我想做一个查询,其中用户获取他发送给另一个用户的pms数量与从该用户接收到的pms数量之间的差异-按Userid分组所以我想将这两个查询合二为一,并从中找出不同之处:SELECTcount(*)ASs_count,senderFROMpmWHEREuserid=".$userid"GROUPBYsenderSELECTcount(*)ASu_count,useridFROMpmWHEREsender=".$userid."GRO
我想列出所有$_SESSION['userid']关注和不关注的人下面的这个查询是针对类型转换的,它有效IN(慢)SELECTuser.*FROMuserWHEREuser.useridIN(SELECTfollow.followtoidFROMfollowWHEREfollow.followerid=$_SESSION['userid'])加入(快速)SELECTp.*FROMuserpJOINfollowfONp.userid=f.followtoidWHEREf.followerid=$_SESSION['userid']对于那些还没有关注cast的人来说,它有效但看起来很慢请建
我有user1与user2和user4交换消息(这些参数是已知的)。我现在想为每个对话选择最新发送或接收的消息(即每个对话LIMIT1)。SQLFiddle目前我的查询返回所有对话的所有消息:SELECT*FROMmessageWHERE(toUserIDIN(2,4)ANDuserID=1)OR(userIDIN(2,4)ANDtoUserID=1)ORDERBYmessage.timeDESC返回的行应该是messageID3和6。 最佳答案 假设较高的id值表示较新的消息,您可以这样做:查找所有涉及用户1的消息按其他用户ID对
我有这样的表:'profile_values'userID|fid|value-------+---------+-------1|3|joe@gmail.com1|45|203-234-23453|3|jane@gmail.com1|45|123-456-7890和:'users'userID|name-------+-------1|joe2|jane3|jake我想加入他们并在一行中包含两个值,例如:'profile_values'userID|name|email|phone-------+-------+----------------+--------------1|joe