oracle自增编号,select时增添自增的编号(就像oracle中的rowid,rownum) 急

在MySQL中,要为查询结果添加类似Oracle的ROWID或ROWNUM的行号,可以使用子查询或者变量来实现。一种方法是通过自连接和计数,另一种方法是利用变量在查询过程中累加。但提供的解决方案在实际应用中出现了错误,可能是因为子查询的条件不正确导致。讨论了如何在SQL查询中为每行添加顺序编号,并提供了几种可能的解决方法,包括创建视图再进行自连接。
摘要由CSDN通过智能技术生成

select时添加自增的编号(就像oracle中的rowid,rownum) 急!急!急!

SQL codemysql> SELECT mobile_num,COUNT(DISTINCT vlr) AS vlrcount FROM alarmdetail

GROUP BY mobile_num ORDER BY vlrcount DESC LIMIT 10;

+---------------+----------+

| mobile_num | vlrcount |

+---------------+----------+

| 8615868157030 | 4 |

| 8615888432117 | 4 |

| 8615888757011 | 3 |

| 8615824157681 | 3 |

| 8615888779740 | 3 |

| 8613806853520 | 3 |

| 8615824459241 | 3 |

| 8613566124713 | 3 |

| 8615888202117 | 3 |

| 8613566169670 | 3 |

+---------------+----------+

10 rows in set (0.00 sec)

我想让查询的结果前面有1,2,3,4,...,10这样的编号。这个该怎么搞啊

请大家帮帮忙啊。

在csdn上找到这样的方法,在我的这个结果中不行啊。

SQL codemysql> SELECT (SELECT COUNT(1)+1 FROM alarmdetail b WHERE b.id

alarmdetail.id ) AS Rank, mobile_num,COUNT(DISTINCT vlr) AS vlrcount

-> FROM alarmdetail

-> GROUP BY mobile_num

-> ORDER BY vlrcount DESC LIMIT 10;

+------+---------------+----------+

| Rank | mobile_num | vlrcount |

+------+---------------+----------+

| 132 | 8615868157030 | 4 |

| 278 | 8615888432117 | 4 |

| 264 | 8613566233443 | 3 |

| 1147 | 8613567771731 | 3 |

| 259 | 8613806853520 | 3 |

| 1076 | 8615824145234 | 3 |

| 142 | 8615858155622 | 3 |

| 1384 | 8615868418510 | 3 |

| 361 | 8615869009887 | 3 |

| 337 | 8615869174411 | 3 |

+------+---------------+----------+

10 rows in set (0.48 sec)

------解决方案--------------------

SELECT mobile_num,COUNT(DISTINCT vlr) AS vlrcount FROM alarmdetail

GROUP BY mobile_num ORDER BY vlrcount DESC LIMIT 10;

存为VIEW NEWTT:

SELECT A.mobile,A.vlrcount,COUNT(B.vlrcount) FROM NEWTT A INNER JOIN NEWTT B

ON A.mobile>=B.mobile GROUP BY A.mobile,A.vlrcount

------解决方案--------------------

2楼3楼都是不错的方法。

------解决方案--------------------

参考下贴中的多种方法。

http://blog.csdn.net/ACMAIN_CHM/archive/2009/04/20/4095531.aspx

MySQL中的ROWNUM的实现

------解决方案--------------------

探讨

按mobile_num排序?结果怎么不对?详细说明一下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值