• SQL按照id集合顺序返回


    一、需求

    sql这样的 SELECT id, name FROM is_parent_viewshop WHERE id IN (2350, 2396, 3768, 3718, 3692) 按照id顺序返回,sql如何写

    二、SQL

    SELECT id, name
    FROM is_parent_viewshop
    WHERE id IN (2350, 2396, 3768, 3718, 3692)
    ORDER BY FIELD(id, 2350, 2396, 3768, 3718, 3692);
    
    • 1
    • 2
    • 3
    • 4

    这里使用FIELD函数来指定ID的顺序,确保结果按照你提供的ID顺序返回。这个查询会按照2350, 2396, 3768, 3718, 3692这个顺序来排序结果集。

    三、MyBatis编写

    在MyBatis中,你可以使用标签来构建一个包含多个参数的IN查询,并使用ORDER BY子句来按照ID的顺序返回结果。以下是一个示例MyBatis语句:

    <select id="selectByIdsOrdered" parameterType="list" resultType="yourResultType">
      SELECT id, name
      FROM is_parent_viewshop
      WHERE id IN
        <foreach item="id" collection="ids" open="(" separator="," close=")">
          #{id}
        foreach>
      ORDER BY FIELD(id, <foreach item="id" collection="ids" separator=",">#{id}foreach>);
    select>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这个示例中,假设你的传入参数名为ids,它是一个包含要查询的ID的列表。MyBatis会使用标签来生成一个IN查询,然后使用ORDER BY子句和FIELD函数按照你提供的ID顺序返回结果。

    请确保替换resultType="yourResultType"为你的实际结果类型,并适应你的MyBatis映射文件结构。

    四、FIELD函数

    FIELD函数通常不是标准SQL函数,而是某些数据库系统(如MySQL)特有的函数。它的作用是返回一个字段在给定值列表中的位置,通常用于自定义排序。

    在前面的例子中,我们使用FIELD函数来指定每个ID在指定值列表中的位置,以便按照指定的ID顺序对结果进行排序。这样可以确保结果按照你指定的ID的顺序返回,而不是按照默认的升序或降序排列。

    请注意,FIELD函数在不同的数据库系统中可能具有不同的名称或语法。在使用时,应根据你正在使用的数据库系统的文档来了解如何正确使用类似功能的函数。如果你使用的是其他数据库系统,可能需要查找相应的函数或方法来执行类似的自定义排序操作。

    五、环境

    1、mysql版本

    5.7.37-log
    
    • 1

    2、mybatis版本

    <dependency>
                    <groupId>com.baomidougroupId>
                    <artifactId>mybatis-plus-boot-starterartifactId>
                    <version>3.0.7.1version>
                dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5
  • 相关阅读:
    HJ5 进制转换
    win10打不开自带word文档怎么办
    Unity基础课程之物理引擎5-射线的使用方法总结
    MybatisPlus【SpringBoot】 6 插件 6.1 分页插件 & 6.2 xml 自定义分页
    基于Git和Nginx搭建自己的私人图床,告别图片404
    基于springboot实现线上教学平台项目【项目源码+论文说明】
    点击、拖拉拽,BI系统让业务掌握数据分析主动权
    【k8s】2、二进制安装k8s
    CST初级教程 七
    为什么蛋白质如此重要?它可以帮助你自然地减肥!
  • 原文地址:https://blog.csdn.net/chen_heng_Ali/article/details/133639722