mysql排重_mysql 排重查询

GROUP BY 语句可以实现某一列的去重查询。

直接上语句:

select io_dev_id from io_info where (TID=1 AND host_name='yang1') GROUP BY 1;

按照io_dev_id去重查询。

p:顺手加上与ORDER BY 和 distinct的区分使用

GROUP BY 是根据列捡选

ORDER BY 是根据列排序

distinct类似于 GROUP BY ,但是只能放在 select 后面,被筛选的字段前面。

如:select distinct a,b,c from tb1;

选出的是a、b、c三列值都相同的数据。

摘取的mysql 5.6 reference manual中的内容:

In most cases, a DISTINCT clause can be considered as a special case of GROUP BY. For example, the following two queries are equivalent:

SELECT DISTINCT c1, c2, c3 FROM t1

WHERE c1 > const;

SELECT c1, c2, c3 FROM t1

WHERE c1 > const GROUP BY c1, c2, c3;

《MYSQL》----字符串的复杂函数,检索的七-天-排-重

接到了一个新的需求,拿到需求的时候瞬间有点头大,因为实在是有些棘手. 我们这个系统本身是个接口系统,总接口数大概在200个左右.外部会有很多用户在 不同的时间拿着不同参数去调我们的这些接口,用户的调集 ...

步步深入:MySQL架构总览->查询执行流程->SQL解析顺序

前言: 一直是想知道一条SQL语句是怎么被执行的,它执行的顺序是怎样的,然后查看总结各方资料,就有了下面这一篇博文了. 本文将从MySQL总体架构--->查询执行流程--->语句执行顺序来 ...

MySQL知识树-查询语句

在日常的web应用开发过程中,一般会涉及到数据库方面的操作,其中查询又是占绝大部分的.我们不仅要会写查询,最好能系统的学习下与查询相关的知识点,这篇随笔我们就来一起看看MySQL查询知识相关的树是什么 ...

mysql笔记03 查询性能优化

查询性能优化 1. 为什么查询速度会慢? 1). 如果把查询看作是一个任务,那么它由一系列子任务组成,每个子任务都会消耗一定的时间.如果要优化查询,实际上要优化其子任务,要么消除其中一些子任务,要么减 ...

MySql学习(七) —— 查询性能优化 深入理解MySql如何执行查询

本篇深入了解查询优化和服务器的内部机制,了解MySql如何执行特定查询,从中也可以知道如何更改查询执行计划,当我们深入理解MySql如何真正地执行查询,明白高效和低效的真正含义,在实际应用中就能扬长避 ...

【MySQL】分页查询实例讲解

MySQL分页查询实例讲解 1. 前言 本文描述了团队在工作中遇到的一个MySQL分页查询问题,顺带讲解相关知识点,为后来者鉴.本文的重点不是"怎样"优化表结构和SQL语句,而是探 ...

MySQL架构总览->查询执行流程->SQL解析顺序

Reference:  https://www.cnblogs.com/annsshadow/p/5037667.html 前言: 一直是想知道一条SQL语句是怎么被执行的,它执行的顺序是怎样的,然后 ...

simhash文章排重

原文链接:https://www.cnblogs.com/baochuan/p/9089244.html  背景     提升产品体验,节省用户感知度.——想想,如果看到一堆相似性很高的新闻,对于用户 ...

Mysql可重复读原理

mysql可重复读现象及原理分析 InnoDB---可重复读隔离级别的底层实现原理 概念 可重复读的实现 Repeatable Read(可重复读):一个事务在执行过程中可以看到其他事务已经提交的新插 ...

随机推荐

drawPython

# drawSnake import turtle def drawSnake(rad,angle,len,neckrad): for i in range(len): turtle.circle(r ...

webkit的一些不为人知的高级属性

1.-webkit-tap-highlight-color   tap按钮或者链接时,就会出现一个半透明的灰色背景,设置属性: -webkit-tap-highlight-color:transpar ...

《C++primer》v5 第2章 变量和基本类型 读书笔记 习题答案

2.1 int,long long ,short 可表示范围和占用内存空间不同.具体与计算机有关. 无符号类型只能表示0和正数,带符号类型可以表示负数,0,正数. float是单精度,一般占用4个字节 ...

[ACM_数据结构] 竞赛排名

比赛排名 Time Limit:1000MS  Memory Limit:32768K Description: 欢迎参加浙江工业大学“亚信联创杯”程序设计大赛,本次竞赛采用与 ACM/ICPC 相同 ...

C++中不能声明为虚函数的有哪些函数

常见的不不能声明为虚函数的有:普通函数(非成员函数):静态成员函数:内联成员函数:构造函数:友元函数. 1.为什么C++不支持普通函数为虚函数? 普通函数(非成员函数)只能被overload,不能被o ...

修改UIBarButtonItem字体大小、颜色等相关属性

在ios中如果想修改UIBarButtonItem里面的内容有很多种方法,常见的就是自定义contentView  但是有时候因为懒不想自定义只想在原来的文字上进行修改 如果只是修改UIBarButt ...

log4j日志分模块打印,同时不打印到控制台上

由于定时刷新程序的启用,导致catalina.out配置文件中打入大量日志,致使程序调试困难.          无法正常查看日志.所以客户要求将性能流量配置日志迁移出catalina.out目录.修 ...

在VS2012中使用GitHub

注册GitHub账号(DeanZhouLin) https://github.com/ 向GitHub中添加一个仓库(Test) *创建完成后,记录该仓库的地址:https://github.com/ ...

.NET单元测试艺术(3) - 使用桩对象接触依赖

List 3.1 抽取一个设计文件系统的类,并调用它 [Test] public bool IsValidLogFileName(string fileName) { FileExtensionMan ...

css之display:inline-block布局

css之display:inline-block布局 更好的排版-->查看原文 1.解释一下display的几个常用的属性值,inline , block, inline-block ●inli ...

### 回答1: 要查询某个字段在整个表中排第几名,可以使用如下语句: ``` SELECT COUNT(*)+1 as rank FROM table_name WHERE field_name > (SELECT field_name FROM table_name WHERE id = {id}) ``` 其中,table_name是数据表名,field_name是要查询的字段名,id是要查询的记录的id。 这条语句的意思是:先查询出id为{id}的记录的field_name的值,然后统计表中所有field_name的值大于该值的记录的数量,最后加1就是该记录在整个表中的排名。 注意,如果要查询的字段存在重复值,这个排名可能不准确。 ### 回答2: 要查询MySQL中一个表中某一列的数据在排序后的位置(即排名),可以使用子查询和变量技巧来实现。 假设我们要查询某表中某一列的值在排序后的排名,可以按照以下步骤进行: 1. 首先,使用子查询来创建一个临时表,将目标列进行排序,计算出每个值的排名。例如,我们可以将目标列进行降序排序,然后给每个值赋予一个排名(行号)。 ``` SELECT col1, @rownum := @rownum + 1 AS rank FROM ( SELECT col1 FROM table ORDER BY col1 DESC ) AS t CROSS JOIN (SELECT @rownum := 0) AS r; ``` 2. 上述查询中,我们使用了一个变量`@rownum`来记录行号,这样就可以获得了每个值在排序后的排名。我们需要确保在执行之前将该变量初始化为0。 3. 将上述查询作为子查询,然后在外部查询中使用`WHERE`条件来筛选出我们想要查询排名的值。例如,我们可以通过添加`WHERE col1 = '目标值'`来筛选出目标值在排序后的排名。 ``` SELECT rank FROM ( SELECT col1, @rownum := @rownum + 1 AS rank FROM ( SELECT col1 FROM table ORDER BY col1 DESC ) AS t CROSS JOIN (SELECT @rownum := 0) AS r ) AS result WHERE col1 = '目标值'; ``` 4. 最终的查询结果就是目标值在排序后的排名。 需要注意的是,上述查询中的`table`需要替换为实际的表名,`col1`需要替换为实际的列名,`目标值`需要替换为实际要查询排名的值。 另外,如果是要查询排名前几名的值,可以使用`LIMIT`和`OFFSET`来实现。例如,若要查询排名前5的值,可以在外部查询中添加`LIMIT 5`,若要查询第6名到第10名的值,则可以使用`LIMIT 5 OFFSET 5`。 ### 回答3: 要查找某个值在MySQL表中排第几名,可以使用子查询和变量来实现。 假设有一张名为scores的表,包含两列:id和score。我们要找到score为80的记录在表中排第几名。 首先,我们可以使用如下查询语句,将所有得分大于80的记录按照得分从大到小排序,并计算每条记录的排名,将结果存储在rank这个变量中。 ``` SELECT id, score, @rank := @rank + 1 AS rank FROM scores, (SELECT @rank := 0) r WHERE score > 80 ORDER BY score DESC; ``` 接着,我们可以使用这个子查询作为一个临时表,并在外部查询中找到rank为某个值的记录。 ``` SELECT * FROM (SELECT id, score, @rank := @rank + 1 AS rank FROM scores, (SELECT @rank := 0) r WHERE score > 80 ORDER BY score DESC) AS temp WHERE score = 80; ``` 这样,我们就可以得到score为80的记录在表中排第几名。 需要注意的是,如果有多个得分都为80的记录,上述查询只会返回第一个满足条件的记录。如果想要找到所有得分为80的记录在表中的排名,可以简单地删除外部查询中的WHERE子句。 以上就是使用MySQL查询排第几名的方法,通过使用子查询和变量,我们可以轻松地获得结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值