Mysql 选择与整行一起的行位置
我已经完成了这个部分,以返回select中的行位置,特定行将在order子句的一部分中返回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
*
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$$请将其作为编辑添加到您的帖子中,而不是不可读的评论