![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
sql
文章平均质量分 60
dushihuiand1
这个作者很懒,什么都没留下…
展开
-
一句看懂Mybatis中IN、LIKE、%的使用
SELECT S.ID,S.BRAND,S.TYPE,S.CODE,S.NAME FROM STORE_INFO WHERE S.TYPE IN <foreach collection="type" item="t" index="index" open="(" separator="," close=")"> #{t} </foreach> <if test="store_code != null and store_...原创 2020-08-13 12:34:45 · 755 阅读 · 0 评论 -
SQL分组取前三(包含并列)问题
撸SQL的人经常会碰到这种问题,分组取前几。这个问题也常常作为大厂的面试题之一。最常见的解决方法是使用x>(count(*))这种,也是大厂面试的标准答案之一。我们来推演一下:先看下表结构,我们来取每班前3名、前2名和第1名:标准解答是这样的:select * from ADU_TEST Twhere 3>(select count(*) from ADU_TEST where CLASS=T.CLASS and SCORE>T.SCORE)结果的确是我们想要原创 2020-07-08 18:31:31 · 14082 阅读 · 1 评论 -
ORA-24347聚合函数出现空列 出现原因及解决
最近做一个数据库开发的项目,写了一条100行左右的SQL,其中聚合函数用了好几层。每一层乃至最终的查询都没有问题,但是将这条SQL的结果写入临时表时,却报了ORA-24347: Warning of a NULL column in an aggregate function。依次检查了所有COUNT()、SUM()、MAX()函数,发现确实有聚合后出现NULL的情况,但是进行查询时,是不会报错的。解决方法:在聚合后有可能出现NULL的语句内使用NVL函数排空。如MAX(NVL(QTY,0)),字符原创 2020-06-30 12:31:09 · 5288 阅读 · 0 评论 -
关于在SQLPLUS中小数不显示小数点前0的问题
今天建了一张视图,用于查看商品的折扣率,却发现折扣率在SQLPLUS中居然有显示问题,而在其他软件上却没有,于是研究了一下SQLPLUS的数字显示问题,分享一下。一、问题描述 SQL> select * from retail_d; ID BILLDATE QTY TOT_AMT_LIST TOT_AMT_ACTUAL DISCOUNT---------- ---原创 2017-06-09 12:03:25 · 3905 阅读 · 0 评论 -
实现同环比的简单SQL
同环比,PL/SQL原创 2017-06-08 16:34:57 · 3546 阅读 · 0 评论 -
ROWNUM函数实现排名环比(一) 关于约束
之前介绍过UNION ALL实现销售同环比的方法,今天介绍一种使用JOIN连接查询实现同环比的方式。同时,我们引入ROWNUM伪列,实现销售排名的显示。在创建测试数据的时候,意外发现了一些关于约束的问题,所以,我准备在这篇文章中,先阐述一些关于Oracle约束,尤其是外键约束的事项。需要直接看ROWNUM实现排名环比的同仁,可以直接移步《ROWNUM函数实现排名环比(二)》再次声明,本原创 2017-06-10 14:57:15 · 542 阅读 · 0 评论 -
ROWNUM函数实现排名环比(二)
在上一篇文章中,我们建立了两张用于测试的表。如下:SQL> select * from m_store; ID NAME---------- ---------- 1001 shop1 1002 shop2 1003 shop3 1004 shop4 1005 shop5SQL> select *原创 2017-06-10 15:14:44 · 477 阅读 · 0 评论