最新回答 / weixin_慕粉7407183
实际开发过程中如果用到这个技巧,那必然是客户提出的,并且会给出一些要求(那些都是限制条件),过滤出来的数据不会太多(展示的数据不符合三范式,展示的数据也不会保留sql当中),如果展示的数据过多,肉眼是看不完的。客户提出的这个需求便没有存在的意义
2022-06-04
找了个链接,个人感觉还是对sql的函数熟练了一些会好看懂https://www.cnblogs.com/zhukf/p/13408754.html
2021-04-11
这样写更简洁一些:
SELECT
user_name,
substring_index(substring_index(mobile, ',', a.id),',' ,- 1) AS mobile
FROM
tb_sequence a
CROSS JOIN (
SELECT user_name, mobile,
(length(mobile) - length(REPLACE(mobile, ',', '')) + 1) AS size
FROM
user1
) b ON a.id <= b.size
SELECT
user_name,
substring_index(substring_index(mobile, ',', a.id),',' ,- 1) AS mobile
FROM
tb_sequence a
CROSS JOIN (
SELECT user_name, mobile,
(length(mobile) - length(REPLACE(mobile, ',', '')) + 1) AS size
FROM
user1
) b ON a.id <= b.size
2020-07-13
@犹豫3秒 这真是个sb,用a.id < b.id是为了删除所有重复的数据,只剩下一条最大的,注意重复的数据可能有N条。
2019-10-05
扯淡吧,列名对开发没用的,用Model接收就是int、int、int。我感觉老师毕竟是DBA不是搞开发的,有些内容咋们听听就行,MySQL原理这方面可以听听,技巧这方面就算了。
2019-10-05
最新回答 / 慕UI6414507
取决于有多少列,如果列数少,比如说10列以下,case when还是可以做到。几百列可以用excel弄个公式填下,然后复制到 sql客户端执行。
2019-08-13
最新回答 / 世上无难事_只要肯放弃
1 show profiles; 2 show variables;查看profiling 是否是on状态; 3 如果是off,则 set profiling = 1; 4 执行自己的sql语句; 5 show profiles;就可以查到sql语句的执行时间;
2018-12-20