Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.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 选择与整行一起的行位置_Mysql - Fatal编程技术网

Mysql 选择与整行一起的行位置

Mysql 选择与整行一起的行位置,mysql,Mysql,我已经完成了这个部分,以返回select中的行位置,特定行将在order子句的一部分中返回 SELECT * FROM (SELECT @i:=@i + 1 n, id FROM 1_packages, (SELECT @i:=0) q ORDER BY group_id , position , pack_description) j WHERE id = 10; 我还想返回其余的列及其位置。我假定它是一个内部联接,

我已经完成了这个部分,以返回select中的行位置,特定行将在order子句的一部分中返回

SELECT 
    *
FROM
    (SELECT 
        @i:=@i + 1 n, id
    FROM
        1_packages, (SELECT @i:=0) q
    ORDER BY group_id , position , pack_description) j
WHERE
    id = 10;

我还想返回其余的列及其位置。我假定它是一个内部联接,但我无法理解语法。

只需在子查询中包含列:

SELECT t.*
FROM (SELECT t.*, @i:=@i + 1 as n
      FROM 1_packages t cross join
           (SELECT @i:=0) const
      ORDER BY group_id, position, pack_description
    ) t
WHERE id = 10;

这是正确的语法。该行返回一个额外的列,给出它的select位置

SELECT 
    *
FROM
    (SELECT 
         *, @i:=@i + 1 n
    FROM
        1_packages, (SELECT @i:=0) q
    ORDER BY group_id , position , pack_description) j
WHERE
    id = 10;

不太清楚你的意思。请添加表结构、示例数据和预期输出。分隔符$$CREATE table
1\u package\u group\u eit
id
int(11)不为空,
rows
int(11)默认为空,
sn
int(11)默认为空,主键(
id
)ENGINE=InnoDB DEFAULT CHARSET=utf8$$请将其作为编辑添加到您的帖子中,而不是不可读的评论