案例分析: 现在要查询一个表单里面的运费结果,但是他还有分录,为了显示分录,必须把表头显示出来,问题是,他要查询运费的合计, 但是这样就会导致重复行也加进去了,这样显然数据不准,为此,可以把重复的行设置为0. 方法: row_number()over(partition by 字段 order by 字段)ID 相当于把一个字段来分组,然后对于这个字段而言,相当于单独字段ID,分别设置值为1,2,3,4,5,排序,有点类似rownum,我们可以把ID字段不等于1的设置为0,这样就不会 重复了.
异常信息 exception.ServiceException: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'XXX' at row 1 问题 代码运行发现有一行报警,很明显可以判断字段插入内容超过表结构设置的长度了.不过比较奇怪的是,为什么测试环境一直没测试出来呢,难道是测试和线上环境Mysql配置不同?咨询了dba,得到的反馈是一致的. 分析 首先可以确定的是测试环境和线上表单是
如表中有A.B.C三个字段,数据如下: A B C 1,2 3 4 要求查询结果: A B C 1 3 4 2 3 4 查询语句: with t as ( select B,C ,A=case charindex(',',A) when 0 then A else left(A,charindex(',',A)-1) end ,Aleft=case charind