AND 和 ORDER BY 有什么用?
what is the use of AND with ORDER BY?
AND 在这样的查询中有什么作用
SELECT *
FROM table
WHERE SaleNo > 200,
ORDER BY EmployeeNo AND SaleNo;
与
有何不同
SELECT *
FROM table
WHERE SaleNo > 200,
ORDER BY EmployeeNo, SaleNo;
这两个查询实际上 return 一个 table 返回,但我不明白第一个查询的含义。
ORDER BY 通常与竖线和逗号一起使用以进行额外的过滤。 TIA
ORDER BY EmployeeNo AND SaleNo;
上面变成这样:
ORDER BY (EmployeeNo AND SaleNo)
然后变成:
ORDER BY (true/false AND true/false)
然后
ORDER BY (true/false)
因此表达式被转换为 true/false 表达式。
如果2列都是数字类型,那么
0 值 = false,任何非零值 = true
所以,你有
ORDER BY ( (EmployeeNo <> 0) AND (SaleNo <> 0) )
那么,如果EmplyeeNo和SaleNo都有值呢?
你明白了
ORDER BY ( (true) AND (True))
ORDER BY True
因此值为-1。
这意味着如果两个值都有一个数字(不是 0),那么它们将首先出现在列表中,如果两个数字之一为 0 或两者均为 0,则所有其他值将出现在列表中。
因此,要按列排序,然后按其他排序,您可以使用
col1, col2 - as you have.
如果你去
col1 AND col2
那么这是布尔(true/false)表达式,而不是按一列排序,然后上下一列。
AND 在这样的查询中有什么作用
SELECT *
FROM table
WHERE SaleNo > 200,
ORDER BY EmployeeNo AND SaleNo;
与
有何不同SELECT *
FROM table
WHERE SaleNo > 200,
ORDER BY EmployeeNo, SaleNo;
这两个查询实际上 return 一个 table 返回,但我不明白第一个查询的含义。 ORDER BY 通常与竖线和逗号一起使用以进行额外的过滤。 TIA
ORDER BY EmployeeNo AND SaleNo;
上面变成这样:
ORDER BY (EmployeeNo AND SaleNo)
然后变成:
ORDER BY (true/false AND true/false)
然后
ORDER BY (true/false)
因此表达式被转换为 true/false 表达式。
如果2列都是数字类型,那么 0 值 = false,任何非零值 = true
所以,你有
ORDER BY ( (EmployeeNo <> 0) AND (SaleNo <> 0) )
那么,如果EmplyeeNo和SaleNo都有值呢?
你明白了
ORDER BY ( (true) AND (True))
ORDER BY True
因此值为-1。
这意味着如果两个值都有一个数字(不是 0),那么它们将首先出现在列表中,如果两个数字之一为 0 或两者均为 0,则所有其他值将出现在列表中。
因此,要按列排序,然后按其他排序,您可以使用
col1, col2 - as you have.
如果你去
col1 AND col2
那么这是布尔(true/false)表达式,而不是按一列排序,然后上下一列。