首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从多个表中选择时,MySQL结果的连续行号

问从多个表中选择时,MySQL结果的连续行号
EN

Stack Overflow用户
提问于 2016-02-03 03:44:47
回答 1查看 129关注 0票数 0

我知道如何从从单个表中选择的MySQL查询中获得连续的结果编号。当从多个表中进行选择时,我很难弄清楚如何做到这一点。

例如:

代码语言:javascript
复制
SELECT fieldA, fieldB FROM tableFoo, tableBar WHERE condition = 'true'

我如何修改它来添加结果的行号?(这可能很简单,但由于某些原因,我不知道该做什么。)

EN

回答 1

Stack Overflow用户

发布于 2016-02-03 03:56:33

也许(未经测试):

代码语言:javascript
复制
SET @row_number:=0;
SELECT @row_number:=@row_number+1 AS row_number, A.fieldA, A.fieldB FROM 
(SELECT fieldA, fieldB FROM tableFoo, tableBar WHERE condition = 'true') AS A 
ORDER BY row_number;

下面是一个包含现有数据库的匿名示例:

SQL语句:

代码语言:javascript
复制
SET @row_number:=0;
SELECT @row_number:=@row_number+1 AS row_number, A.id, A.sname, A.fname FROM 
(select h.id, right(md5(m.sname), 5) sname, right(md5(m.fname), 5) fname from member m 
join household h on h.id = m.household_id where h.id > 9000
order by h.id, m.sname, m.sname) as A limit 20;

结果:

代码语言:javascript
复制
1   9001    7f9f6   424d5
2   9002    5bc65   cc2c0
3   9002    5bc65   8b13a
4   9002    5bc65   addb2
5   9002    5bc65   14f57
6   9002    5bc65   95924
7   9003    5adb1   cc0e0
8   9003    5adb1   ac703
9   9003    5adb1   e2ae7
10  9003    5adb1   fe3dc
11  9003    5adb1   d5eb3
12  9003    5adb1   d24a0
13  9004    35fc7   cd978
14  9004    35fc7   41fd1
15  9005    41b5c   32fd4
16  9005    41b5c   8c1bb
17  9005    41b5c   6119a
18  9006    dd3fd   941a2
19  9007    345a4   a7d5e
20  9007    345a4   4c161
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35162491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档