【发布时间】:2016-08-26 00:14:10
【问题描述】:
仍在掌握 sql,但这似乎是一个非常基本的问题,我显然错过了一些大问题
SELECT * FROM myTable WHERE arbitraryInt < (SELECT MAX(arbitraryInt));
当我知道有任意Int 值小于最大值时,我没有返回任何行。虽然没有返回任何错误,但没有错误。提前致谢
更新:这是代码的其余部分,但 FROM 关键字仍然出错
UPDATE myTable SET arbitraryInt = arbitraryInt + 1
WHERE primaryKey = 0001 AND arbitraryInt < (
SELECT MAX(arbitraryInt) FROM myTable
);
我收到错误 myTable is soecified 两次
上下文正在尝试使用每个项目的排序整数使项目可手动排序。所以 MAX 的原因是为了防止该整数变得比必要的大。我确信有更好的方法可以做到这一点,但我还没有看到它。我正在寻找的结果是一个带有向上和向下箭头的表格,用于重新订购在线商店的列表项。
【问题讨论】:
-
您可以更新选定的光标对我来说似乎很奇怪。这可能是你的问题。
-
通过这样的排序,您最终会增加一些
arbitraryInt值,使其与MAX(arbitraryInt)匹配,最终它们都将等于MAX()。我认为您应该允许整数值变大。一个整数将为您提供超过 20 亿个数字。