在访问数据库中选择列的第N个值

时间:2014-11-17 15:55:34

标签: mysql ms-access-2010 nth-element

我正在尝试在Access数据库中选择特定值。所以数据库包含很多列,我只能选择第一个值,或者最后一个:

SELECT Column1
     , First(Column7) AS Column7_1
     , First(Column8) AS FirstOfColumn8
     , [Column1] & [Column7_1] AS [Column1&Column7]
FROM [Table1]
GROUP BY Column1;

现在我想弄清楚的是如何在这些列中获取第n个值。什么是完美的,如果SQL会识别第三(Column7)......我尝试了以下内容:

SELECT Column1
     , First(Column7) AS Column7_1
     , First(Column8) AS FirstOfColumn8
     , [Column1] & [Column7_1] AS [Column1&Column7]
FROM [Table1]
WHERE Column7 > (SELECT First(Column7) FROM [Table1]) AND Column8 > SELECT First(Column8) FROM [Table1]) 
GROUP BY Column1;

但这不是让我在那里。来自不同列的值不再对应。

基本上,更具体地说,我实际上并没有在列中尝试第n个单元格;它更多的是获取特定colmn中包含的第n个值。例如,请参阅下表

Column1  Column2  Column3
A1       Prop1     20
A1       Prop1     20
A2       Prop2     15
A2       Prop1     20
A3       Prop2     15
A3       Prop3     5 
A3       Prop3     5 
A4       Prop1     20
A4       Prop2     15
A4       Prop3     5
A4       Prop4     10

因此,我想为每个column1id选择第2列的第n个值,以便获取第一个元素:

Column1  Column2  Column3
A1       Prop1     20
A2       Prop1     20
A3       Prop2     15
A4       Prop1     20 

表示第二个元素:

Column1  Column2  Column3

A2       Prop2     15
A3       Prop3     5 
A4       Prop2     15

和第四个:

Column1  Column2  Column3

A4       Prop4     10

希望它有意义。有什么猜测我怎么能得到这个?感谢

0 个答案:

没有答案