sql
慢点走
这个作者很懒,什么都没留下…
展开
-
pgsql case when 报错: ERROR: invalid input syntax for type numeric ,应该如何处理?
文章目录问题把结果扩展一下问题 最近有个需求,sql如下:select case when score < 60 then 60 else '优秀' end from stuent 但是运行的时候报错了:ERROR: invalid input syntax for type numeric:'优秀' &原创 2021-05-18 15:58:04 · 35524 阅读 · 0 评论 -
springBoot报错: MyBatis:check the manual that corresponds to your MySQL server version
昨天用java的SpringBoot写项目,底下是个查询语句(为了说明方便,使用*): select * from t_student where birthday &gt; = #{beforeDate} and birthday &lt;= #{nowDate} order...原创 2018-11-14 09:56:09 · 10528 阅读 · 0 评论 -
jdbc执行sql出现错误: mismatched input ‘,’ excepting ‘.‘ 应该如何解决?
最近有一个需求,需要查出来数据,再插入到数据库种。采用的办法是:先把数据取出,放到一个list中,然后循环list,拼接sql的插入语句,然后执行sql。 代码大概如下(简化了业务,表达大意): String insertSql = "insert into t_test(\"name\") values"; StringBuffer sb = new Stri原创 2020-12-09 17:16:29 · 30072 阅读 · 0 评论 -
为什么sql没写错,但是delete配合select联合操作报错?但是用子查询又不报错了?
今天做题的时候,发现一个很郁闷的地方,经过问人搜索之后,找到了答案。 题目 https://blog.csdn.net/weixin_42845682/article/details/105449417 ...原创 2020-04-11 11:38:33 · 1705 阅读 · 0 评论 -
sql - 分段统计前N高的问题
文章目录一、 前1高第一种解决办法第二种解决办法 - over()案例二、 前N高第一种解决办法第二种解决办法 - over()案例 最近做了一些sql的题,想着总结一下吧,所以就有了下面这篇博文。 sql中经常会遇到一类需求:需要分段统计前N高。例如:每...原创 2020-04-10 17:53:57 · 480 阅读 · 0 评论 -
用join实现交集,并集,差集,补集的效果
sql集合运算的关键字 sql中,对于集合的计算有:并集、差集、交集。 并集:union,union all 差集:EXISTS,not in,except &...原创 2020-04-09 17:48:16 · 8217 阅读 · 2 评论 -
Mysql中,1=1和 1=1=1 和 -1=-1 和 -1=-1=-1 和 5=5 和 5=5=5 有什么区别
文章目录一、 几种情况1. 初始情况 1=1=12. 其他情况 5=5=53. 其他情况 -1=-1=-1二、 分析一下1. 正确的sql2. 初步分析3. 继续分析1). 1=12). 其他情况三、 结论1. 结论2. 验证结论四、 拓展一下 首先,思考下面几个问题:select 1=1; --返回什么?select ...原创 2020-04-02 10:43:13 · 925 阅读 · 0 评论 -
mysql中,实现dense_rank()的效果。 - 不使用dense_rank(),实现编号排序的效果。
这是做 leetcode的数据库的178.分数排序时有感而发的。具体见:https://blog.csdn.net/weixin_42845682/article/details/105252542 &nb...原创 2020-04-01 19:09:31 · 1174 阅读 · 0 评论 -
leetcode-数据库-解题记录
记录一下我自己做的leetcode的数据库的题的思考过程和答案。 175. 组合两个表 176. 第二高的薪水 &nb...原创 2020-03-30 11:58:55 · 372 阅读 · 2 评论 -
oracle 字符串拼接数字 ||
现在有一个需求:把字符串中代表日的截取出来,如果小于10就前面拼接一个0;如果大于等于10就不拼接。 这里不说怎么截取字符串,怎么判断,主要说拼接字符串。 oracle拼接字符串用 ||,字符串也可以和数字拼接。 假设现在截取出来的日是3,那么应该是03,下面的sql没有问题:select 0 || 3 from student; ...原创 2019-03-26 17:49:19 · 6654 阅读 · 2 评论 -
oracle sql like(模糊查询)时,null的处理
oracle中,模糊查询使用like和 not like 。 item表中,log字段为备注,备注中存在“抽检”两个字的时候,不统计该项目。备注可以为null。select * from item where log not like "%抽检%"; 期望的情况是:除了抽检的单子,其他单子都筛选出来。实际情况是:只有 备注不为null且备注不包含“...原创 2019-03-26 10:39:30 · 4107 阅读 · 0 评论 -
分页时order by的问题
做了一个分页,按照取样时间排序。Select * from (select ROWNUM RN,X.* from ( select s.* from T_TEST_SAMPLE s <where> <if test="qualityName!=null and qu...原创 2019-03-09 17:21:10 · 2140 阅读 · 0 评论 -
对union使用order by或 limit
对union使用order by或limit l 如果您想使用ORDER BY或LIMIT子句来对全部UNION结果进行分类或限制,则应对单个地SELECT语句加圆括号,并把ORDER BY或LIMIT放到最后一个的后面。 例如:(SELECT a FROM tbl_name WHERE a=10 AND B=1) UNION (SELECT a FROM tbl_nam...原创 2018-07-31 18:10:15 · 3501 阅读 · 0 评论 -
利用sql计算一段时间内各商品的总销售额
首先创建表:create table tab(name varchar(20), mon int,sales int);然后插入数据:insert into tab values('铅笔',1,50),('橡皮',1,50),('小刀',1,58),('铅笔',2,53),('橡皮',2,64),('小刀',2,75),('铅笔',3,52),('橡皮',3,53),('小刀',...原创 2018-07-31 18:29:12 · 17485 阅读 · 0 评论 -
sql查询教师表中比A部门最低工资高的所有老师
使用自连接使用自连接,from teachera, teacherb;然后设置筛选条件(b.dept=’A’ and a.sqlary&gt;b.salary) select * from teacher a,jiaoshi b where b.dept='A' and a.sqlary&gt;b.salary 使用some或any select name ...原创 2018-07-31 18:39:49 · 1540 阅读 · 0 评论 -
sql查询各种类销售额最多的金额和所有种类销售额最多的金额
sql查询各种类销售额最多的相关信息首先创建表:create table tab(name varchar(20), mon int,sales int);然后插入数据:insert into tab values('铅笔',1,50),('橡皮',1,50),('小刀',1,58),('铅笔',2,53),('橡皮',2,64),('小刀',2,75),('铅笔',3,52...原创 2018-07-31 19:02:31 · 19541 阅读 · 2 评论 -
sql: 分组后按照分组规则拼接字符串 -- group by与 group_concat()
Markdown编辑器写博客小技巧本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引...原创 2018-08-10 09:32:37 · 76061 阅读 · 5 评论 -
ORA-00909:参数个数无效
#ORA-00909:参数个数无效网上查了很多解决办法,但是都不行。最后发现,自己写的sql语句用到了nvl函数。 正常的nvl函数应该是nvl(String,replace_String), 我写成了 nvl(String replace_String),没有写中间那个逗号。 &nb...原创 2018-09-18 18:23:59 · 55982 阅读 · 0 评论 -
多表的 inner join与left join;
当前情况目前有三个表,关系如下: 1. sc表,有 student_id, class_id 2. student表,有student_id,student_name, 3. class表,有class_id,class_name,class_address_id, 4. address表,有address_id,address_name相同名字的字段相对应。 假设分别有如下...原创 2018-09-14 11:27:10 · 3331 阅读 · 0 评论 -
mySql、oracle的别名
mysql select id '序号' from student;查询如下: select id 序号 from student;查询结果如下:结论:mysql使用别名,别名无论加不加单引号都可以。(中文、英文别名无论加不加单引号,别名都生效)oracle本人使用PL\SQL,别名过长报错(好像是超过30个字符长度就报错);并且,别名加单引号也报错,必...原创 2018-11-26 16:49:28 · 623 阅读 · 0 评论 -
按照不同的月周期统计数据 - sql
现在有一个需求:每月26号到25号为一个企业月(即:2019年2月对应的起止日期是: 2019-01-26, 2019-02-25),一个产品分优等品、一等品、合格品、不合格;把一个企业月之内的每种等级的产品的产量的总和求出来。 前台传来开始时间的年份月份,结束时间的年份月份,格式为:yyyy-MM。首先得到开始时间的26号,结束时间的25号。 本身我的想法...原创 2019-03-08 16:30:09 · 2009 阅读 · 2 评论 -
sql转置 -- 行转列,使用case when、if
SQL转置转置使用 case when 或 if都可以。但是,若需要group by,则需要对case when 或 if 使用聚合函数。即: group by和聚合函数要么都出现,要么都不出现。实现代码中用到了MAX函数,这个很重要,它可以返回多个字符串中ASCII最大的字符串, 不过使用中要注意,它可能改变返回的数据类型(String-&amp;amp;amp;amp;amp;amp;amp;amp;gt;BLOB)。 另外,MA...原创 2018-07-31 17:48:56 · 28754 阅读 · 3 评论