为了账号安全,请及时绑定邮箱和手机立即绑定
UPDATE order_seq SET order_sn = order_sn + v_cnt WHERE timestr = v_timestr;
IF ROW_COUNT() = 0 THEN
INSERT INTO order_seq(timestr,order_sn) VALUES(v_timestr,v_cnt);
END IF;
SELECT CONCAT(v_timestr,LPAD(order_sn,7,0))AS order_sn
FROM order_seq WHERE timestr = v_timestr;
COMMIT;
DECLARE v_cnt INT;
DECLARE v_timestr INT;
DECLARE rowcount BIGINT;
SET v_timestr = DATE_FORMAT(NOW(),'%Y%m%d');
SELECT ROUND(RAND()*100,0)+1 INTO v_cnt;
START TRANSACTION;
插播:在mysql中,所有的cross join都可以用inner join去替换。
所以适用的场景就是小范围的统计比如:月份,年份,稍大就鸡肋了。
哈哈,一条记录的cross join感觉这样处理很妙啊,每次都只有一条横向连接,结果自然只有一条了。
底下瞎吹的,真的看视频了,2.6和2.8讲的都是列转行,2.6的标题还是错的
不知道这个例子在工作中用在哪些地方,也感觉用唐僧四人组这个例子不合适
这种SQL几乎没法用,也不符合数据库设计的基础原则
实际应用不多 啊
一般链接mysql;可以用过php链接或者其他语言链接,像这样的sql语句可以在编程语言里面循环生成
?????这真的是技巧吗?
你们忘了老师前面说的话了吗,用SQL完成看似不能完成的功能。只是为了装逼用,直接用在工作中你就输了。
这些技巧是适用于有一定的开发经验的程序员,新手确实看不懂,我有时候也是看的一知半解,不过确实讲的很好,都是一些经典用法
课程须知
本门课程主要针对的是MySQL数据库,熟悉数据库的CRUD操作是掌握本门课程精华的必要条件。
老师告诉你能学到什么?
1、如何进行行列转换 2、如何生成唯一序列号 3、如何删除重复数据

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消