我正在尝试返回带有子查询的单个帖子,以包括反对票和赞成票的计数。我可以通过使用原始查询来实现这一点。但是这样做意味着我无法再访问后期模型关系,例如评论。是否有更多Eloquent方法可以保持模型关系?或者是否有更好的方法来解决整个问题?很想听听你会怎么做。$post=DB::select("SELECTpost.*,(SELECTCOUNT(*)FROMposts_votesWHEREtype=1ANDpost_id=posts.id)ASup_votes,(SELECTCOUNT(*)FROMposts_votesWHEREtype=2ANDpost_id=posts.id)ASdo
我已尝试从2个表中获取记录,但在我的第一个表为ttreply时未显示所需的输出另一个表是ttreplycount,其中存储的计数如下:我试图获取值,但它没有获取记录,因为我希望我的mysql查询如下:SELECTr.id,r.userid,r.`reply`,coalesce(x.votes,0)asVotesFROM`ttreply`rleftjoin(SELECTsum(votes)asVotesfrom`ttreplyvotes`)xONr.`post_id`=2它向我展示了这样的输出:我需要的是这样的:iduseridreplyVotes23Testing2ndreply-23
Oracle有2个函数-rank()和dense_rank()-我发现它们对某些应用程序非常有用。我现在正在用mysql做一些事情,想知道他们是否有类似的东西? 最佳答案 没有直接等价的东西,但你可以用一些(不是非常有效的)自连接来伪造它。来自collectionofMySQLqueryhowtos的一些示例代码:SELECTv1.name,v1.votes,COUNT(v2.votes)ASRankFROMvotesv1JOINvotesv2ONv1.votes 关于oracle-My
我有这个SQL语句:SELECT(CASEWHENEXISTS(SELECT*FROMvotesWHEREvotes.user_id=0ANDvotes.post_id=posts.idANDvotes.vote=0)THEN0WHENEXISTS(SELECT*FROMvotesWHEREvotes.user_id=0ANDvotes.post_id=posts.idANDvotes.vote=1)THEN1ELSE2END)ASvote_by_me,posts.*FROM`posts`有没有办法以DRY方式执行此操作?两个select语句几乎相同,最好以某种方式将它们分解出来。谢谢
我正在尝试修改投票脚本(Thumbsup)我需要此查询仅返回子数组中具有“cat”=>“1”的数组项(正确的术语?)get()?>这是从我的数据库中实时生成数组的示例array(0=>array('id'=>1,'name'=>'a','cat'=>'1',),1=>array('id'=>2,'name'=>'b','cat'=>'2',),2=>array('id'=>3,'name'=>'c','cat'=>'2',),)这是否可以通过修改查询来实现?编辑:继承函数get()publicfunctionget(){//Startbuildingthequery$sql='SELE
我看不出有什么问题,但为什么会这样/*SQLError(1064):YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear'leftouterjoinvotesonitems.id=votes.parentandvotes.userid=1groupbyi'atline2*/selectmaxVotes,sum(casewhencoalesce(votes.id,0)then1else0end)votesCastfromit
我有一个用户表和一个投票表。投票表存储对其他用户的投票。无论好坏,投票表中的一行存储两个用户之间双向的投票。现在,问题是当我想列出例如某人投票的所有人时。我不是MySQL专家,但据我了解,由于连接语句中的OR条件,它需要查看整个用户表(目前有+44,000行),并为此创建一个临时表。目前,下面的查询大约需要两分钟,是的,两分钟才能完成。如果我删除OR条件,以及连接语句中它后面的所有内容,它会在不到半秒的时间内运行,因为它只需要查看44,000个用户行中的大约17个(解释ftw!).以下示例,用户ID是9834,我正在尝试获取他/她自己的反对票,并加入被投票用户的信息关于结果。是否有更好
我有这个:SELECTposts.id,(SELECTCOUNT(*)FROMvotesWHEREvotes.post=posts.id)ASvotesCount,(SELECTSUM(vote)FROMvotesWHEREvotes.post=posts.id)ASvotesUpFROMpostsWHEREposts.id=1如何在不执行其他SELECT的情况下区分votesCount和votesUp?像这样的东西:SELECTposts.id,(SELECTCOUNT(*)FROMvotesWHEREvotes.post=posts.id)ASvotesCount,(SELECTS
我将CakePHP用于CMS/Web服务以支持iPhone应用程序。我想知道如何对.find()方法进行排序,以便我可以按某些外部模型的“计数”进行排序?例如:video对象与votes相关联。因此,单个视频行有多个投票行(具有user_id和video_id)。$videos=$this->Video->find('list',array(>));如何更改orderby子句,使其返回投票的25个最受欢迎的视频? 最佳答案 假设您有以下表格:CREATETABLE`videos`(`id`char(36)NOTNULL,`name`
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我在谷歌应用引擎中使用Python写了一个简单的博客。我想为我的每个帖子实现投票系统。我的帖子存储在SQL数据库中,并且我有一列表示没有收到选票。有人可以帮我为个别帖子设置投票按钮吗?我使用Jinja2作为模板引擎。如何确保投票安全?当有人点击投票按钮时,我正在考虑发送一个POST/GET,我的python脚本将相应地读取和更新数据库。但后来我意识到这是不