假设我有以下数据:
data
Names X1 X2 X3
Jimmy 1 3 0
Mark 2 0 0
Jimmy 4 0 5
我在编写唯一查询时遇到问题。我想要返回的是每行非零的最后一个数字。所以结果看起来像
Names Want
Jimmy 3
Mark 2
Jimmy 5
有办法做到这一点吗?
答案 0 :(得分:1)
如果列数有限,则可以使用CASE语句:
SELECT name,
CASE WHEN x3 <> 0 THEN x3
WHEN x2 <> 0 THEN x2
ELSE x1 END AS want
FROM myTable;
以下是SQL Fiddle示例。