2015-10-18 79 views
0

我想这样查询:mysql查询组合表中的两列

假设你有一个表,如X和Y是列的表。

X Y 

A 1 
B 2 
C 3 
D 4 

,现在你想创造的东西,如:

X Y Z 
A 1 2 
B 2 3 
C 3 4 
D 4 5 

基本上你想创建这里的下一行值对。 (1,2),(2,3),(3,4)这些对是(Y,Z)。我将如何写这样的mysql查询?任何指针?

+1

你将如何确定的 “下一个” 行?只是表中的文字下一行,或者下一行按某些值排序? –

+0

假设在你的表中有一个控制行顺序的自动增量'id'字段,在'('D',4)'的情况下,没有下一行值。这种情况下为什么'Z = 5'? –

+0

不要进入自动增量,配对只能在下一行完成。 – python

回答

2

从我看到的Z值是1+value of Y

看一看这个简单的查询: -

SELECT x,y,(y+1) AS Z from test 

SQL小提琴: -

http://sqlfiddle.com/#!9/08b1e/2

enter image description here

+2

你应该采取下一行不只是增量。配对必须在下一行。 – python

+0

下一行可以是1或n的增量。 – python

+0

这很容易。但是,OP给出了这样的值,这让我想到了这个解决方案。让我们等他。 – Akshay