编码-MySQL怎么获得某1条记录在表中的位置?

问题描述

MySQL怎么获得某1条记录在表中的位置?

我有一个问题 :

MySQL怎么获得某1条记录在表中的位置? 比如我有一个表格,里面有销量字段,产品编码(是唯一的)字段,我对销量字段按降序排列,请问,我怎么知道 产品编码=xxx 在表中按销量排在第几名?

解决方案

select count(*) from table where 销量 <= (select 销量 from table where 产品编码=xxx)

解决方案二:

SELECT
tmp.rownum,
tmp.产品编码
FROM (
SELECT
@rownum:=@rownum+1 AS rownum,
表名称.产品编码
FROM (SELECT @rownum:=0) r, 表名称
ORDER BY 销量
) tmp WHERE tmp.产品编码='xxxxx'

时间: 2024-07-28 12:41:38

编码-MySQL怎么获得某1条记录在表中的位置?的相关文章

在oracle一个有60万记录的表中删除几十条记录怎么用了很长时间?

oracle 在oracle一个有60万记录的表中删除几十条记录怎么用了很长时间?

mysql分组 排序取每条记录中最后更新记录

以下是 test 表,测试sql  代码如下 复制代码 CREATE TABLE IF NOT EXISTS `test` ( `id` int(10) unsigned NOT NULL auto_increment, `install` int(10) unsigned NOT NULL, `day` int(10) unsigned NOT NULL, `aid` int(10) unsigned NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM D

三种返回mysql 插入一条记录返回该记录id方法

三种返回mysql教程 插入一条记录返回该记录id方法 方法一 id int(11) not null pri key auto_increment,name varchar(12),backup varchar(50) 现在想插入一条记录的同时,返回他的id值(插入时只是插入name和backup字段的值).请问该如何写这条语句.谢谢! 你的担心完全多于. 不需要锁表, 返回的ID肯定是你的,基于当前连接session 自动返回最后一个INSERT或 UPDATE 问询为 AUTO_INCRE

mysql重复记录取最后一条记录方法

如下表:  代码如下 复制代码 CREATE TABLE `t1` ( `userid` INT(11) DEFAULT NULL, `atime` datetime DEFAULT NULL, KEY `idx_userid` (`userid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8: 数据如下:  代码如下 复制代码 MySQL> SELECT * FROM t1; +--------+---------------------+ | userid |

mysql增加索引的3条原则

一,索引的重要性 索引用于快速找出在某个列中有一特定值的行.不使用索引,MySQL必须从第1条记录开始然后读完整个表直到找出相关的行.表越大,花费的时间越多.如果表中查询的列有一个索引,MySQL能快速到达一个位置去搜寻到数据文件的中间,没有必要看所有数据.注意如果你需要访问大部分行,顺序读取要快得多,因为此时我们避免磁盘搜索. 假如你用新华字典来查找"张"这个汉字,不使用目录的话,你可能要从新华字典的第一页找到最后一页,可能要花二个小时.字典越厚呢,你花的时间就越多.现在你使用目录来

spark从mysql数据库读取1000万条数据 运行速度很慢 如何优化

问题描述 spark从mysql数据库读取1000万条数据 运行速度很慢 如何优化 使用dataframe从mysql数据库中读取一张有1000万条记录的表 读取数据非常的慢 有什么办法能优化呢 求助啊 级 解决方案 http://book.51cto.com/art/201409/453045.htm 解决方案二: MySQL数据库运行状态数据的采集----------------------

sql-SQL 如何显示每3小时一条记录?

问题描述 SQL 如何显示每3小时一条记录? 表中有时间列TIME_2800和其他列名,我可以显示每小时一条数据(select hour(TIME_2800) as hour2800,...),但我不知道怎么显示每三小时一条记录.请教各位大神指教!灰常感谢!

select-SQLServer中如何判断一条记录不能存在并使用其他值代替?

问题描述 SQLServer中如何判断一条记录不能存在并使用其他值代替? 现有表tableA,tableB.tableA有一列为bid,是通过该列跟tableB中的一行记录关联 . 一个存储过程中的语句如下,作用是获取A表中的一些信息,并通过bid获取与其关联的 tableB中的某一行的信息.(另外,tableB中会有一个aid的列,通过该列和tableA中的一条记录对应,一条talbeA中的记录可以对应tableB中多条记录,以最后更新的那条tableB记录为绑定) select tableA

sql-消费表中查找所有用户最后一条消费记录

问题描述 消费表中查找所有用户最后一条消费记录 BussnissLogs表中字段BussnissLogsID(消费流水ID),UserID(用户ID),HappeningTime(消费时间) ps:判断最后一条记录的是时间,不是消费流水号 解决方案 查找最后一个条,取BussnissLogsID最大的那个倒序排序 select top 1 * from (select * from xxx order by BussnissLogsID desc) 解决方案二: 要的是按时间最末,那么应该是:s