MySql(分组)排序编号

本文介绍了在SQL中实现数据排序和编号的多种方法,包括直接添加顺序、分组排序编号、使用MySQL 8.0的row_number()函数等。通过具体代码示例,读者可以学习如何在不同场景下为查询结果添加行号或排名。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、 不分组直接添加顺序

  • 代码
  • SELECT @rownum:=@rownum+1 AS rownum, a.cus_number
    FROM (SELECT @rownum:=0) r, invest

二、 分组排序编号:

  1. 代码
  • SELECT a.`cus_number`,a.`id`,count(*) AS '排名',a.`invest_count`
    FROM borrow_tender   a 
    LEFT JOIN borrow_tender  b
    on a.`cus_number` = b.`cus_number` 
    and a.`id`>= b.`id`
    GROUP BY a.`cus_number`, a.`id`

  • 示例:

2. 代码

SET @i=0;
CREATE TABLE user_order AS 
SELECT
	(@i:=@i+1) AS order_id,
	order_uid,
    order_date
from order_list group by order_uid

3. 通过mysql8.0 的row_number()  代码:

SELECT
	row_number() over(partition by newsid,final_yr,final_mon order by count( * ) desc) AS orderid,
    newsid,
	final_yr,
	final_mon,
	count( * ) AS cnt 
FROM
	`table_final`  
GROUP BY
    newsid
	final_yr,
	final_mon
ORDER BY
    newsid,
	final_yr,
	final_mon DESC

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值