`
yzabstract
  • 浏览: 14941 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

mysql 当ID为UUID 如何取最新一条

阅读更多
SELECT
        tmp.intention_log_id
        FROM(
        SELECT
        @cur_intention_id := t.intention_id AS cur_intention_id,
        IF (
        @pre_intention_id = @cur_intention_id,
        @rank := @rank + 1,
        @rank := 1
        ) AS rank,
        @pre_intention_id := @cur_intention_id AS pre_intention_id,
        t.*
        FROM
        (
        SELECT
        csrl.*
        FROM
        cus_serve_relation_log csrl
        ORDER BY
        csrl.create_date DESC
        ) t
        ) tmp
        WHERE
        tmp.rank = 1


后面发现一个问题,就是需要初始化,不然第一次查询会出现1,1的情况
(SELECT @cur_intention_id := '', @rank := 1, @pre_intention_id := '') t2
分享到:
评论

相关推荐

    mysql雪花算法生成唯一整型ID主键的实现方法

    为了初始化序列,我们可以插入一条记录到`sequence`表,并调用`setval`函数设置初始值。例如,这里使用了一个19位的UUID_SHORT()生成的数值,加上特定前缀"1987",使其与雪花算法的长度和格式保持一致: ```sql ...

    Laravel开发-laravel-uuid

    在Laravel框架中,UUID(Universally Unique Identifier)是一种广泛使用的唯一标识符,它为数据库中的每条记录提供了一个全局唯一的、不可变的ID。Laravel-uuid是专门为Laravel框架设计的一个扩展包,用于方便地...

    Mysql生成三千万条数据

    - **非主键查询**:查询一条数据需要大约38秒。 - **聚合查询(如COUNT(*))**:完成时间为1分32秒。 #### 五、总结 通过本实验可以看出,在MySQL中生成并存储三千万条数据是可行的,并且在主键查询方面依然保持较...

    mysql自增id超大问题的排查与解决

    这就是为什么小A在执行`ON DUPLICATE KEY UPDATE`后看到的影响记录条数是2,即使实际只更新了一条记录。 **解决方案** 为了解决自增ID超大的问题,可以采取以下策略: 1. **审查并优化SQL语句**:确保不使用会...

    mysql_guid主键生成方式范例

    MySQL中的GUID(Globally Unique Identifier)主键生成方式是一种确保数据库中每一条记录具有唯一标识的方法,尤其在分布式系统中十分常见。本示例主要介绍如何通过Hibernate框架配置,来实现MySQL数据库中GUID主键...

    45-MySQL单表2000万数据查询慢解决方案1

    我们可以将原来单个id主键索引删掉,改成id、intime为主键。 数据插入 我们可以按照分区的原则,向表里插入数据。每个分区有4条数据,查询结果正确。 分区删除 我们可以使用命令`alter table tuser drop partition...

    全局唯一ID生成

    当系统需要为每条记录分配一个独一无二的身份标识时,全局唯一ID生成技术就显得尤为重要。本话题将深入探讨分布式ID生成以及相关实现策略。 分布式ID生成是解决大型分布式系统中生成不重复ID的关键技术。在单体应用...

    MySQL慢查询日志

    以下是一条典型的慢查询日志记录示例: ```plaintext Time:2017-07-07T06:35:46.995201Z User@Host:root[root]@localhost[::1]Id:10 Query_time:12.522116 Lock_time:0.000501 Rows_sent:0 Rows_examined:483968 ...

    面试mysql 之索引 锁 事物

    - **更新丢失(Lost Update)**:当两个事务都修改了同一条记录时,如果第二个事务提交的结果覆盖了第一个事务的结果,则会出现更新丢失问题。 - **脏读(Dirty Read)**:一个事务读取到了另一个事务尚未提交的数据...

    MySQL架构演变与性能优化最终版

    #### 一、MySQL架构概述 MySQL作为一个关系型数据库管理系统,其架构设计经历了多次迭代和发展。理解MySQL的基本架构对于深入掌握其工作原理至关重要。 **1.1 MySQL架构图** - **客户端/服务端模型**:MySQL采用...

    MySQL面试题目(16个题目)

    * 对 MySQL 数据库去重的关键字是 `SELECT DISTINCT`,可以过滤掉多余的重复记录,仅保留一条记录。 * MySQL 多表连接有左连接、右连接、内连接三种方式,每种连接方式都有其特点和应用场景。 二、索引知识点 * ...

    Mysql Oracle 数据库开发设计及使用规范

    - 主键字段统一命名为`ID`,其他字段根据存储的信息选择相应的英文名词表示,字段间用下划线`_`连接。 - 尽量避免使用联合主键。 - 字段名称长度不得超过30个字符。 **2.3 视图命名** - 视图采用`项目名/模块名+_+...

    mysql实现随机查询经验谈

    这种方法首先计算出最大ID,然后生成一个介于0和最大ID之间的随机数,通过WHERE子句筛选出ID大于或等于随机数的记录,再按ID排序并取第一条。但这种方法在ID不从0开始的情况会有问题,可能会导致返回结果偏向于较小...

    主键的选择1

    例如,如果表中的最后一条记录的自增ID为4,然后删除了这条记录,正常情况下下次插入的新记录的自增ID应该是5。但若在此时重启MySQL,自增ID可能会回溯到3,造成数据混乱。从MySQL 8.0开始,这个问题得到了解决。 ...

    分布式系统ID生成器解决方案.docx

    随着数据量的不断增长,数据库的分库分表策略需要一个全局唯一的ID来标识每条记录,传统的数据库自增ID不再适用。因此,引入专门的分布式ID生成器解决方案成为必要。 ### UUID方案 UUID(Universally Unique ...

    c# MySql与SQL sever的区别.docx

    MySQL对应的是`UUID()`。 9. **行计数**: - SQL Server使用`@@ROWCOUNT`获取执行后受影响的行数;MySQL中的`row_count()`仅在`UPDATE`, `INSERT`, `DELETE`操作后有效。 10. **获取最后一个插入的自增ID**: - ...

    SQL-Server与MySQL差别

    **MySQL** 在使用 `GROUP BY` 时允许在 `SELECT` 子句中出现未在 `GROUP BY` 中指定的列,但这些列必须是聚合函数的一部分。例如: ```sql SELECT cust_id, MAX(amount) FROM payments GROUP BY cust_id; ``` 而在 *...

    mysql储存相关的面试题目精选

    存储引擎 1、有哪些常见的存储引擎? 2、MyISAM 和 InnoDB 的区别?3、InnoDB 的四大特性? 插入缓冲insert buffer) ...用来描述数据页中的具体信息,比如存在多少条纪录,第一条纪录的位置等。 6.页中插入记录的过程?

    查看MySQL Galera集群状态 pxc状态使用手册

    MySQL Galera集群是一种基于多主复制的高可用性解决方案,适用于需要高度一致性和数据同步的应用场景。通过查看Galera集群的状态,我们可以确保集群的健康运行并及时发现潜在的问题。 #### 查看Galera集群状态命令 ...

Global site tag (gtag.js) - Google Analytics