MySQL使用变量实现各种排序
作者:feixianxxx 发布时间:2024-01-22 10:36:14
标签:MySQL,变量,各种排序
核心代码
--下面我演示下MySQL中的排序列的实现
--测试数据
CREATE TABLE tb
(
score INT
);
INSERT tb SELECT
5 UNION ALL SELECT
4 UNION ALL SELECT
4 UNION ALL SELECT
4 UNION ALL SELECT
3 UNION ALL SELECT
2 UNION ALL SELECT
1;
--1.row_number式的排序
SET @row_number =0;
SELECT @row_number := @row_number+1 AS row_number,score
FROM tb
ORDER BY score DESC ;
+------------+-------+
| row_number | score |
+------------+-------+
| 1 | 5 |
| 2 | 4 |
| 3 | 4 |
| 4 | 4 |
| 5 | 3 |
| 6 | 2 |
| 7 | 1 |
+------------+-------+
--2.dense_rank式的排序
SET @dense_rank = 0,@prev_score = NULL;
SELECT @dense_rank :=IF(@prev_score=score,@dense_rank,@dense_rank+1) AS decnse_rank,
@prev_score := score AS score
FROM tb
ORDER BY score DESC ;
+-------------+-------+
| decnse_rank | score |
+-------------+-------+
| 1 | 5 |
| 2 | 4 |
| 2 | 4 |
| 2 | 4 |
| 3 | 3 |
| 4 | 2 |
| 5 | 1 |
+-------------+-------+
--3.rank式的排序
SET @row=0,@rank=0,@prev_score=NULL;
SELECT @row:=@row+1 AS ROW,
@rank:=IF(@prev_score=score,@rank,@row) AS rank,
@prev_score:=score AS score
FROM tb
ORDER BY score DESC;
+------+------+-------+
| ROW | rank | score |
+------+------+-------+
| 1 | 1 | 5 |
| 2 | 2 | 4 |
| 3 | 2 | 4 |
| 4 | 2 | 4 |
| 5 | 5 | 3 |
| 6 | 6 | 2 |
| 7 | 7 | 1 |
+------+------+-------+
来源:http://blog.csdn.net/feixianxxx/article/details/5807973
0
投稿
猜你喜欢
- 本文为大家分享了Python创建单例模式的5种常用方法,供大家参考,具体内容如下所谓单例,是指一个类的实例从始至终只能被创建一次。方法1:如
- 具体代码如下所示:#coding:utf8import random,wxdef password(event): a = [c
- 一、layui下拉复选实现的背景:实现一个管理员拥有多个权限二、 具体实现://依赖资源<link rel="stylesh
- 目录通过与 OpenCV 模板匹配的 OCR信用卡 OCR 结果总结今天的博文分为三个部分。 在第一部分中,我们将讨论 OCR-A 字体,这
- 我是这样来做DIV布局代码的.不知道说的清楚不清楚,凑和看吧我把class分为2种,布局class,风格class,布局class是骨架,风
- encode() 方法返回字符串的编码版本。默认编码是当前的默认字符串编码。可给予设置不同的错误处理机制。语法以下是encode
- MySQL由于它本身的小巧和操作的高效, 在数据库应用中越来越多的被采用.我在开发一个P2P应用的时候曾经使用MySQL来保存P2P节点,由
- 直接使用Python来实现向量的相加# -*-coding:utf-8-*-#向量相加def pythonsum(n): a = range
- 一、列操作1.1 选择列d = {'one' : pd.Series([1, 2, 3], index=['a
- 简单方法实现网页自动适应任何分辨率任何窗口大小(只适用于IE)<!DOCTYPE html PUBLIC "-//W3C//
- 虽然这种情况不应该发生,通常像我们关系型数据库,我们应该是事先设计好,以后不能改动,但是由于之前工作的疏忽,其实说实话,也不仅仅是我个人的疏
- 本文实例讲述了PHP实现的随机IP函数。分享给大家供大家参考,具体如下:function get_rand_ip(){ $arr
- 在项目中经常会遇到需要将不同的二维码放到一张通用图片上,提供用户下载简单来说,就是利用canvas将同等比例的二维码在图片上叠加,生成海报1
- python数据拟合主要可采用numpy库,库的安装可直接用pip install numpy等。1. 原始数据:假如要拟合的数据yyy来自
- 我听说在ASP里,可以不用DSN来连接EXCEL,请问如何实现?确实ASP提供了替代DSN的其他方法,甚至可以在运行时建立连接看看下面的范例
- 2017年底,Tensorflow 推出Lite版本,可实现移动端的快速运行,其中,一个很关键的问题,如何把现有分类模型(.pb) 转换为(
- go简单代码反汇编用简单的代码用以分析go的调用约定及多返回值的返回方式。package mainfunc vals(c, d int) (
- 邹建 2004.4 代码如下:/*--调用示例 exec p_lockinfo1 --*/ alter proc p_lockinfo1
- 本文实例讲述了php从文件夹随机读取文件的方法。分享给大家供大家参考。具体实现方法如下:function RandomFile($folde
- 后端:from rest_framework.views import APIViewfrom car import settingsfro