mysql随机查询
发表于|更新于
|浏览量:
明者见危于无形,智者见祸于未萌。——《三国志》
我们如果需要使用mysql进行随机取N条这样的操作
我们可以这样写
1 | -- 2.然后查询主表,与我们的tmp_table进行INNER JOIN[内连] |
这个是我认为效率比较高的随机查询了
相关推荐
2025-01-18
nocodb
为了那一句话,流尽血的败北!多少次我都能挺下来。——朝雾卡夫卡的《文豪野犬》 最近在探索一些开源项目时,发现了一个非常有意思且实用的工具 —— NocoDB。它是一个开源的无代码数据库平台,可以帮助开发者将传统数据库(如 MySQL、PostgreSQL 等)转化为一个可视化的表格形式。通过 NocoDB,开发者和非开发者都可以像使用电子表格一样管理数据库内容,非常适合团队协作和快速原型开发。 NocoDB 通过其直观的用户界面,允许用户通过拖拽、点击等方式直接操作数据库中的数据,而无需编写任何 SQL 语句。无论是小型项目还是团队协作,NocoDB 都能极大地提升开发效率,特别是对于那些没有数据库开发经验的用户来说,它提供了一种轻松操作数据库的方式。 NocoDB 的安装和使用非常简单,适合不同操作系统和开发环境。你可以通过以下步骤轻松搭建: 安装首先,你可以通过 Docker 轻松地部署 NocoDB,以下是使用 Docker 部署的步骤: 1docker run -d -p 8080:8080 nocodb/nocodb 执行这条命令后,NocoDB 会在本地启动...
2022-02-06
INSERT ... ON DUPLICATE KEY UPDATE Statement
打开mysql文档,总会有新发现。——碧安瑶 我们在使用INSERT语句时,有时会有这样的需求,不存在就新增,存在就更新 此时我们可以使用INSERT ... ON DUPLICATE KEY UPDATE语句 就像mysql官方文档中提到的那样,我们如果将a列设为UNIQUE唯一索引或者主键时,并且当前表已经存在了a=1的数据,对于这种情况,下面两条sql的结果是相等的 当然如果不满足上方条件,则会新增一条数据 1234INSERT INTO t1 (a,b,c) VALUES (1,2,3) ON DUPLICATE KEY UPDATE c=c+1;UPDATE t1 SET c=c+1 WHERE a=1; 对于InnoDB引擎的表,此处的新增可能会触发自增列,但修改操作不会触发 如果上方的唯一索引再加一个b列,则上方第一条sql和下方sql结果相等 1UPDATE t1 SET c=c+1 WHERE a=1 OR b=2 LIMIT 1; 注意如果此处a=1 or b=2匹配多行,则只会更新一行,所以我们需要避免在有多个唯一索引的表上使用本语法 我们在表内没...
2022-12-11
order by field
勿以己才而笑不才——房玄龄 分享一个函数field 首先在mysql内置函数的文档地址能找到这个函数: https://dev.mysql.com/doc/refman/8.0/en/built-in-function-reference.html 这里告诉我们,这个函数可以这么用,寻找第一个参数所在的下标位置,找不到为0: 1234mysql> SELECT FIELD('Bb', 'Aa', 'Bb', 'Cc', 'Dd', 'Ff'); -> 2mysql> SELECT FIELD('Gg', 'Aa', 'Bb', 'Cc', 'Dd', 'Ff'); -> 0 因为此处支持传入表字段 然后我们可以在查询时使用ORDER BY FIELD(字段,已存在的排好序的字段值)
2020-07-02
mysql使用druid时自动断开连接解决方案二
直接上xml配置! 12345678<bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" destroy-method="close"> <property name="url" value="${jdbc.url}"/> <property name="username" value="${jdbc.username}"/> <property name="password" value="${jdbc.password}"/> <property name="driverClassName" value="${jdbc.driver}...
2020-07-01
避免循环操作数据库
今天看到公司实习写的代码。。。 1234567for (Long id : ids) { //查询 TbGoods tbGoods = goodsMapper.selectByPrimaryKey(id); tbGoods.setIsDelete("1"); //逻辑删除 //修改 goodsMapper.updateByPrimaryKey(tbGoods); } 这是,循环操作数据库?! 晕。。。希望以后不再看到这样的代码。。。 我给他写了个mapper.xml里的sql,用 where id in()替代,这样只有一条sql语句了 1234567891011<!-- 根据主键查询数据 --> <select id="selectByPrimaryKeys" resultMap="BaseResultMap" parameterType="list&q...
2020-08-20
mysql一次给数据库所有表加字段
执行脚本 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950DROP PROCEDUREIF EXISTS addColumn;DELIMITER $$CREATE PROCEDURE addColumn () BEGIN-- 定义表名变量 DECLARE s_tablename VARCHAR ( 100 );/*显示表的数据库中的所有表SELECT table_name FROM information_schema.tables WHERE table_schema='databasename' Order by table_name ;*/#显示所有 DECLARE cur_table_structure CURSOR FOR SELECT table_name FROM INFORMATION_SCHEMA.TABLES -- databasename = 数据库名称 WHERE table...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog