我正在寻找一个类似于此的更新声明......
UPDATE top (15) percent magTable
SET Name= 'Issue'
WHERE magID IN ('TNE', 'TBB', 'DTT', 'HTF')
但是我需要它在IN语句中占据每个值的15%。我正在寻找一种更优雅的方式来写这个,而不是将它分成4个不同的更新语句(每个magID一个)。
我对此很新(这可能是显而易见的):D先谢谢你的帮助!
答案 0 :(得分:0)
答案是你可能会这么做,但我认为这不值得,特别是只有四行代码。我只需通过复制每一行进行小修改就必须执行更多更新。优点是您可以准确地看到您正在做的事情,而使用更复杂的代码集,您可能无法轻松地遵循它。
UPDATE top (15) percent magTable SET Name= 'Issue' WHERE magID = 'TNE'
UPDATE top (15) percent magTable SET Name= 'Issue' WHERE magID = 'TBB'
UPDATE top (15) percent magTable SET Name= 'Issue' WHERE magID = 'DTT'
UPDATE top (15) percent magTable SET Name= 'Issue' WHERE magID = 'HTF'
另外,正如其他人提到的那样,使用没有ORDER BY的TOP会给你存储在表中的前15%,这可能只是基于你的导入文件。除非您将输入文件随机化,否则它不是随机样本。