1
我有一个包含两列整数的表。我想选择它的数据(在一些标准的方式),并通过规则添加一个新列:SQL SELECT:将列映射到新列
- 如果左边的数字越大,新列是1
- 如果左数量较少,新列是-1
- 如果数是相等的,新的列是0
实施例:
16 | 15 | 1
20 | 28 |-1
11 | 11 | 0
28 | 14 | 1
...
我有一个包含两列整数的表。我想选择它的数据(在一些标准的方式),并通过规则添加一个新列:SQL SELECT:将列映射到新列
实施例:
16 | 15 | 1
20 | 28 |-1
11 | 11 | 0
28 | 14 | 1
...
SELECT X,Y,
CASE WHEN X > Y THEN 1
WHEN X < Y THEN -1
ELSE 0 END AS "Z"
FROM table_name
听起来像是你想要的SIGN
功能
SELECT Col1, Col2, SIGN(Col1 - Col2) AS Col3
FROM T
是标准的这个 “CASE”?我正在考虑加入(SELECT -1/0/1)ON(3个条件之一)并以某种方式进行分组... –
是的,它是标准的SQL。查看[这个问题]的答案(http://stackoverflow.com/questions/4622/sql-case-statement-syntax)。 – Chad