mysql随机查询
发表于|更新于
|浏览量:
明者见危于无形,智者见祸于未萌。——《三国志》
我们如果需要使用mysql进行随机取N条这样的操作
我们可以这样写
1 | -- 2.然后查询主表,与我们的tmp_table进行INNER JOIN[内连] |
这个是我认为效率比较高的随机查询了
相关推荐
2020-11-05
mysql案例数据库
人类的悲剧,就是想延长自己的寿命。我们往往只憧憬地平线那真个神奇玫瑰园,而忘了去赏识今天窗外正在盛开的玫瑰花。——(美)戴尔·卡耐基 昨天有群友问 那这里就分享一下mysql官网的案例数据库,下载下来就是sql文件,执行完就有现成的用于练手的数据 首先进入mysql官网的其他文档 可以看到下方的Example Databases 我们选一个下载Zip 下载完了里面就是一个sql文件 比如我下载的world.sql 下载完直接执行就有大堆数据用来练手啦!
2021-01-02
mysql对表的操作
如果工作对于人类不是人生强索的代价,而是目的,人类将是多么幸福。—— 罗丹 转,原文 mysql对表的操作 表的概念表是包含数据库中所有数据的数据库对象。表中的数据库对象包含列、索引、触发器。其中触发器是指用户定义的事务命令集合,当对一个表中的数据进行插入、更新或者删除时,这组命令就会自动执行,可以确保数据的安全性和完整性。 创建表create table tableName(属性名 字段类型,属性名 字段类型,……属性名 字段类型);最后一个字段类型后面没有逗号,整个语句的小括号后边有分号。 例如:创建一个数据库,并且创建一张表:create database 数据库名;show databases; //查看当前用户下mysql中所有的数据库use 数据库名; //使用这个数据库create table class(id Integer primary key auto_increment,name varvhar(32),number int);//创建了一张有三列的表,表名为class。id 为整型,主键且...
2024-06-10
ClickHouse快速入门
幻想中有比显示更高的东西,现实中也有比幻想更高的东西,把两者结合起来是最完美的。——列夫·托尔斯泰 官网: https://clickhouse.com/ 中文文档: https://clickhouse.com/docs/zh 我们执行命令运行 1curl https://clickhouse.com/ | sh 可以看到非常方便就好了 1234567891011121314151617181920212223Last login: Tue Jun 4 22:23:34 on ttys001curl https://clickhouse.com/ | shThe default interactive shell is now zsh.To update your account to use zsh, please run `chsh -s /bin/zsh`.For more details, please visit https://support.apple.com/kb/HT208050.GithubIireAchao:blog achao$ curl htt...
2021-02-25
mysql中条件函数
世上有味之事,包括诗、酒、哲学、爱情,往往无用。吟无用之诗,醉无用之酒,读无用之书,钟无用之情,终于成一无用之人,却因此活得有滋有味。——周国平《风中的纸屑》 在我们日常开发中,有时可能会在SQL中写一些条件,例如这里一个例子 这里有这样一张表,数据如下: 如果我们需要把未认证(状态为NOT_AUTH)的用户放到前面排序显示,在不影响分页的情况下,我们可以这么写 1SELECT *,IF(status='NOT_AUTH','NOT_AUTH',null) AS sort FROM `user` ORDER BY sort DESC 这里使用到了MYSQL的IF函数 1IF([条件],[为true时值],[为false时值]) 例如我们需要整体排序,认证中的在最前,然后是未认证的,最后是已认证的 我们则可以使用MYSQL中的CASE、WHEN、THEN、ELSE、END一套去做 12345SELECT *,( CASE WHEN STATUS = 'AUTHING' THEN 0 WHEN STATUS = ...
2024-04-22
Mysql的NULLIF
秉性难移。——冯梦龙 NULLIF函数是MySQL中的一个条件函数,用来返回两个表达式的比较结果。具体来说,如果两个表达式相等,NULLIF函数返回NULL;如果不相等,它就返回第一个表达式的值。其基本语法如下: 1NULLIF(expr1, expr2) 其中,expr1和expr2可以是任何类型的表达式,但它们应该是相同的数据类型或者可以隐式转换的类型。 在数学运算特别是除法运算中,除以零会导致错误。使用NULLIF可以有效避免这种错误。例如,我们要计算两个列A和B的比值,可以这样写: 12SELECT A, B, A / NULLIF(B, 0) AS resultFROM your_table; 这里,如果B为0,则NULLIF(B, 0)返回NULL,A / NULL也会返回NULL,从而避免了运行时错误。 在数据导入或处理过程中,我们可能会遇到一些特殊值需要转换为NULL以保持数据的一致性。例如,某些系统中使用-1表示数据缺失,我们可以使用NULLIF来转换这些值: 12SELECT NULLIF(column_name, -1)FROM your_table...
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匹配多行,则只会更新一行,所以我们需要避免在有多个唯一索引的表上使用本语法 我们在表内没...

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