在mysql的更新中执行count()?
是否可以执行如下查询?如果可能的话,我想用它来代替存储过程 例如,有两个表在mysql的更新中执行count()?,mysql,database,database-design,count,Mysql,Database,Database Design,Count,是否可以执行如下查询?如果可能的话,我想用它来代替存储过程 例如,有两个表 UPDATE items SET score='a', count=(SELECT COUNT(votes.id) AS C WHERE votes.uri = items.uri) WHERE items.id = 'b' 或者类似的事情。。。实际上是对一个表进行计数并使用该值更新另一个表 我甚至不知道这个问题是否有意义。如果需要的话,尽管叫我白痴吧 编辑对不起,这个问题可能没有意义。我想计算表“B”,并使用该值在同
UPDATE items
SET score='a', count=(SELECT COUNT(votes.id) AS C WHERE votes.uri = items.uri)
WHERE items.id = 'b'
或者类似的事情。。。实际上是对一个表进行计数并使用该值更新另一个表
我甚至不知道这个问题是否有意义。如果需要的话,尽管叫我白痴吧
编辑对不起,这个问题可能没有意义。我想计算表“B”,并使用该值在同一查询中更新表“A” 您要查找的是,您可以在查询后立即调用它,查看更新了多少记录
你真的很接近!这个怎么样:
UPDATE items SET score='a', count = (SELECT COUNT(votes.id) FROM votes WHERE votes.uri = items.uri) WHERE items.id = 'b'
编辑:Rafe首先发布了他的解决方案。您要查找的是,您可以在查询后立即调用它,查看更新了多少记录
你真的很接近!这个怎么样:
UPDATE items SET score='a', count = (SELECT COUNT(votes.id) FROM votes WHERE votes.uri = items.uri) WHERE items.id = 'b'
编辑:Rafe首先发布了他的解决方案。当然,您的语法基本正确:
UPDATE items
SET score= 'a', count = (SELECT COUNT(votes.id)
FROM votes WHERE votes.uri = items.uri)
WHERE items.id = 'b'
这称为相关子查询。它是相关的,因为您在子查询中引用了外部查询中的表。当然,您的语法基本正确:
UPDATE items
SET score= 'a', count = (SELECT COUNT(votes.id)
FROM votes WHERE votes.uri = items.uri)
WHERE items.id = 'b'
这称为相关子查询。它是相关的,因为您在子查询中引用了外部查询中的表。不太。。。我想计算一个表,并使用该值更新同一查询中的另一个表。哦,是的,我完全误解了你的问题。你是说你想使用查询结果。。。在另一个查询中!你可以只做两个查询并存储第一个查询的结果吗?不完全是。。。我想计算一个表,并使用该值更新同一查询中的另一个表。哦,是的,我完全误解了你的问题。你是说你想使用查询结果。。。在另一个查询中!您可以只做两个查询并存储第一个查询的结果吗?非常感谢!这很有道理。非常感谢您的反馈。非常感谢!这很有道理。我感谢你的反馈。