Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 在access数据库(SQL)中选择第n个值_Mysql_Ms Access 2010_Nth Element - Fatal编程技术网

Mysql 在access数据库(SQL)中选择第n个值

Mysql 在access数据库(SQL)中选择第n个值,mysql,ms-access-2010,nth-element,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能够识别第三

我试图在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能够识别第三个(第7列),那就最好了。。。 我尝试了以下方法:

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;
但这并不能让我达到目的。不同列中的值不再对应。 猜猜我怎么会得到这个?
感谢AFAIK,SQL实际上不支持使用上述语法按列编号选择列

类似于以下内容的操作(使用动态SQL)可以实现此目的:

*下面的查询可能有用

SELECT s.NAME SchemaName, 
       t.NAME TableName, 
       c.NAME ColumnName 
FROM   sys.columns c 
       INNER JOIN sys.tables t 
               ON c.object_id = t.object_id 
       INNER JOIN sys.schemas s 
               ON t.schema_id = s.schema_id
谢谢你的回复, 我忘记指定的是,我实际上没有尝试列中的第n个单元格;它更多的是获取特定列中包含的第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

希望这是有意义的

您在任何显示的查询中都没有orderby。如果
orderby
缺少first(),则第三个()或第n个()将导致一个无意义的值,这是因为如果未指定,sql查询(也在access中)不会保证顺序。旁注:第三个()和第n个()不存在
Column1  Column2  Column3

    A4       Prop4     10