Sql 从一个表列中选择一个最小值,并在一个 SQL 语句中将结果插入到另一个表列中
Posted
技术标签:
【中文标题】Sql 从一个表列中选择一个最小值,并在一个 SQL 语句中将结果插入到另一个表列中【英文标题】:Sql Select a minimum value from a table column and insert the results in another table column in one SQL statement 【发布时间】:2018-10-28 14:18:28 【问题描述】:我正在尝试从 Candidate 表中获取最小值并将该值插入 MinTotal 表中。你能在一条 SQL 语句中同时完成这两项工作吗?
这是我的 SQL 语句:
UPDATE MinTotal SET MinTotal.min_total= MIN(CandidateID.TotalVotes);
【问题讨论】:
您使用的是哪个 dbms? 【参考方案1】:UPDATE MinTotal a
INNER JOIN (SELECT MIN(c.TotalVotes) min_vote, c.CandidateID FROM Candidate c
GROUP BY c.CandidateID) b ON b.CandidateID = a.CandidateID
SET a.min_total = b.min_vote;
试试上面的。这是针对每个候选人的,否则您可以使用提供的其他答案。
【讨论】:
【参考方案2】:您必须使用 select 才能正确设置 MIN()。 这样做的一种方法是:
UPDATE MinTotal
SET
min_total = Cmin.minresult
FROM (
SELECT MIN(TotalVotes) as minresult
from CandidateID
) Cmin
一般来说,这是解决问题的一种方法。在这种情况下,您将为 MinTotal 表中的每一行设置 minresult。如果您不希望这样,您可能需要更具体地了解您想要的输出,并在您的问题中添加一些示例
【讨论】:
【参考方案3】:UPDATE MinTotal
SET MinTotal.min_total = (
SELECT MIN(TotalVotes)
FROM CandidateID
);
【讨论】:
以上是关于Sql 从一个表列中选择一个最小值,并在一个 SQL 语句中将结果插入到另一个表列中的主要内容,如果未能解决你的问题,请参考以下文章