sql - 比较 SQL 中的元组

标签 sql comparison operators sql-order-by tuples

有没有比执行以下操作更方便的方法来比较 T-SQL 中的数据元组:

SELECT TOP 100 A, B
FROM MyTable
WHERE (A > @A OR (A = @A AND B > @B))
ORDER BY A, B

基本上,我正在寻找具有 (A, B) > (@A, @B) 的行(与 order by 子句中的顺序相同)。我有我有 3 个字段的情况,但它会变得更丑。

最佳答案

不,这很简单。事实上,你可以通过绘制真值表来证明这是最简单的。 (设置 3 列:A<@A、A=@A 和 A>@A。设置 3 行:B<@B、B=@B、B>@B。)

       A<@A | A=@A | A>@A
--------------------------
B<@B |  F   |  F   |  T
--------------------------
B=@B |  F   |  F   |  T
--------------------------
B>@B |  F   |  T   |  T

关于sql - 比较 SQL 中的元组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/716463/

相关文章:

java - 将运算符保存在数组中,错误

C#:是具有继承的泛型类型的运算符

mysql - 如何将 MySQL 中的 NULL 值视为 0

mysql - 如何使用 mySQL View 和 UPDATE 更改表

javascript - 省略具有来自另一个对象的某些深度值的对象

string - 为什么我用 Perl 编写的词频计数器示例无法产生有用的输出?

Python *list* "in"运算符 : equality, 哈希检查,还是身份?

Android SQLite多WHERE

SQL Server 全文搜索包含连字符的短语不返回预期结果

java - 需要帮助将命令行参数与 Java 中的字符串文字进行比较