当前位置:网站首页> MySQL中符号@的作用
MySQL中符号@的作用
2022-06-27 15:30:00 【1024问】
mysql的@用法
实战
select @a;
变量名,如果你不加的话,会认为这是一个列名,但是这列不存在,就报错了;
@变量名 : 定义一个用户变量.
= 对该用户变量进行赋值.
用户变量赋值有两种方式: 一种是直接用"=“号,另一种是用”:=“号。
其区别在于:
使用set命令对用户变量进行赋值时,两种方式都可以使用;
用select语句时,只能用”:=“方式,因为select语句中,”="号被看作是比较操作符。
(@i:[email protected]+1)
可以在生成查询结果表的时候生成一组递增的序列号
select (@i:[email protected]+5) as rownum, surname, personal_name from student, (select @i:=100) as init;
select @ids := 101,@l := 0
GROUP_CONCAT + group by
按照分组,连接字段上的数据,默认以,,也可以指定分割符
mysql的@用法1,增加临时表,实现变量的自增
SELECT (@i:[email protected]+1),t.* FROM table_name t,(SELECT @i:=0) AS j(@i:[email protected]+1)代表定义一个变量,每次叠加1;
(SELECT @i:=0) AS j 代表建立一个临时表,j是随便取的表名,但别名一定要的。
2,实现排序递增
SELECT( @i := @i + 1 ),p.* FROM( SELECT * FROM sys_region ORDER BY create_time DESC ) p, ( SELECT @i := 0 ) k
3,实现分组递增
[email protected] := CASE WHEN @type = a.LEVEL THEN @r + 1 ELSE 1 END AS rowNum,@type := a.`level` AS type,a.id FROMsys_region a,( SELECT @r := 0, @type := '' ) b;
这里用了临时变量@type,因为对临时变量操作的时候,被使用的变量都是临时变量。
实战INSERT INTO t_top ( col_account, col_date, p_account, p_name )SELECT b.col_account, b.col_date, b.p_account, b.p_name FROM([email protected] := CASE WHEN @account = a.col_account THEN @num + 1 ELSE 1 END AS rownum,@account := a.col_account AS account,a.* FROM( SELECT * FROM zb_top ORDER BY col_account, p_avg DESC ) a,( SELECT @num := 0, @account := '' ) j) b where 6 > b.rownum计算用户距上次访问的天数,根据imei号区分不同的用户,如果时间段内只有一次访问则为0。
初始化数据:
代码示例:
CREATE TABLE `pd` (`imei` varchar(32) NOT NULL DEFAULT '',`date` datetime DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;INSERT INTO `pd` VALUES ('1', '2013-07-25 00:00:01');INSERT INTO `pd` VALUES ('1', '2013-07-26 00:00:02');INSERT INTO `pd` VALUES ('2', '2013-07-23 00:00:04');INSERT INTO `pd` VALUES ('2', '2013-07-26 00:00:03');INSERT INTO `pd` VALUES ('3', '2013-07-26 00:00:01');脚本,使用@特殊变量:
代码示例:
SELECT * FROM(SELECTimei user_id,max(max_dd),max(max_dd_2),to_days(max(max_dd)) - to_days(max(max_dd_2)) days FROM(SELECTimei,max_dd,max_dd_2 FROM(SELECTtmp.imei,tmp.date,IF(@imei = tmp.imei, @rank := @rank + 1, @rank := 1) AS ranks,IF(@rank = 1, @max_d := tmp.date, @max_d := NULL) AS max_dd,IF(@rank = 2, @max_d_2 := tmp.date, @max_d_2 := NULL) AS max_dd_2,@imei := tmp.imei FROM(SELECT imei, date FROM pd ORDER BY imei ASC, date DESC) tmp,(SELECT @rownum := 0, @imei := NULL, @rank := 0, @max_d := NULL, @max_d_2 := NULL) a ) result ) t GROUP BYimei HAVINGcount(*) > 1 ) x WHERE x.days >= 1 AND EXISTS (SELECT 'x' FROM pd WHERE date > '2013-07-26 00:00:00')
注意:
表数据量较大时,使用union all等操作将会有悲剧性的结果。
到此这篇关于MySQL中符号@的作用的文章就介绍到这了,更多相关MySQL 符号@内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!
边栏推荐
- 洛谷入门1【顺序结构】题单题解
- Can the teacher tell me what the fixed income + products are mainly invested in?
- OpenSSF安全计划:SBOM将驱动软件供应链安全
- Luogu_ P1007 single log bridge_ thinking
- CAS之比较并交换
- Difference between special invoice and ordinary invoice
- élégant pool de threadpoolexecutor personnalisé
- Teach you how to realize pynq-z2 bar code recognition
- 专用发票和普通发票的区别
- Indexeddb learning materials
猜你喜欢

Talk about redis transactions

PSS: you are only two convolution layers away from the NMS free+ point | 2021 paper

E modulenotfounderror: no module named 'psychopg2' (resolved)

Programming skills: script scheduling

守护雪山之王:这些AI研究者找到了技术的新「用武之地」

熊市慢慢,Bit.Store提供稳定Staking产品助你穿越牛熊

QT notes (XXVIII) using qwebengineview to display web pages

Synchronized and lock escalation

Vulnerability recurrence ----- 34. Yapi remote command execution vulnerability

Lei Jun lost another great general, and liweixing, the founding employee of Xiaomi No. 12, left his post. He once had porridge to create Xiaomi; Intel's $5.4 billion acquisition of tower semiconductor
随机推荐
NFT双币质押流动性挖矿dapp合约定制
开源二三事|ShardingSphere 与 Database Mesh 之间不得不说的那些事
关于 Spartacus 的 sitemap.xml 问题
About tensorflow using GPU acceleration
数学建模经验分享:国赛美赛对比/选题参考/常用技巧
2022年最新《谷粒学院开发教程》:8 - 前台登录功能
Typescript learning materials
FPGA based analog I ² C protocol system design (with main code)
Let's talk about the process of ES Indexing Documents
substrate 技术每周速览 20220411
Piblup test report 1- pedigree based animal model
固收+产品有什么特点?
AQS Abstract queue synchronizer
AbortController的使用
Can polardb-x be accessed through the client of related tools as long as the client supporting JDBC / ODBC protocol is afraid?
[MySQL] query valid data based on time
一场分销裂变活动,不止是发发朋友圈这么简单!
Google tool splits by specified length
PSS:你距離NMS-free+提點只有兩個卷積層 | 2021論文
Gin general logging Middleware