1 KagamineLenKai2 OP 前半部分还好……函数什么的查一查也就知道用法了,不过结尾的那一串 <isNotEmpty prepend="and" property="orgAuth"> a.org_id in ($orgAuth$) </isNotEmpty> <isNotEmpty prepend="and" property="orgid"> a.org_id =#orgid# </isNotEmpty> <isNotEmpty prepend="and" property="clientName"> a.client_name =#clientName# </isNotEmpty> <isNotEmpty prepend="and" property="isExApply"> a.is_ex_apply = #isExApply# </isNotEmpty> <isNotEmpty prepend="and" property="repayDateBegin"> date_format(cp.repay_date,'%Y-%m-%d %h:%i:%s') <![CDATA[>=]]> #repayDateBegin# </isNotEmpty> <isNotEmpty prepend="and" property="repayDateEnd"> date_format(cp.repay_date,'%Y-%m-%d %h:%i:%s') <![CDATA[<=]]> #repayDateEnd# </isNotEmpty> ORDER BY a.client_name, c.contract_number, cp.repay_date desc </select> 这是 SQL 吗? |
2 woshihuzios123 2016-08-24 13:53:40 +08:00 @KagamineLenKai2 百度了一下发现是 ibatis |
![]() | 3 yanyuan2046 2016-08-24 13:54:55 +08:00 看着像 P2P |
4 KagamineLenKai2 OP @woshihuzios123 表示…还是不懂… |
![]() | 5 est 2016-08-24 14:00:56 +08:00 还行。。。请搜索 纯 SQL 实现 MD5 算法。 |
![]() | 6 Durandal01 2016-08-24 14:13:16 +08:00 @KagamineLenKai2 这是 mybatis 配置文件里的写法,后面那段是拼接 SQL 用的。 <isNotEmpty>里包着的部分表示在某个参数不为空( property 所指的参数)的情况下,加上这一段 SQL ,连接字用 prepend 里写的那个。 举例说就是: <isNotEmpty prepend="and" property="orgAuth"> a.org_id in ($orgAuth$) </isNotEmpty> 表示 orgAuth 不为空 的情况下, SQL 语句里拼上 and a.org_id in 'orgAuth 的值' |
7 woshihuzios123 2016-08-24 14:58:38 +08:00 @KagamineLenKai2 其实我也不懂,我只会 lambda |
![]() | 8 lianyue 2016-08-24 15:20:16 +08:00 这 是我见过最长的 sql 查询 语句了 |
9 daweilv 2016-08-24 15:25:11 +08:00 弱弱的问一下,这样的统计效率比放在程序里算高吗? |
10 oscarzhao 2016-08-24 15:31:38 +08:00 explain 一下看看性能如何 |
![]() | 11 server 2016-08-24 15:32:13 +08:00 ![]() 为了实现而实现,我死之后那管他洪水滔天。 |
![]() | 14 8bit 2016-08-24 15:36:58 +08:00 子查询比多次 Join 效率要高吧 |
15 arist 2017-05-16 17:40:57 +08:00 以前做 BI 统计,dba 写单个统计点 SQL,每一项都是一页,大概有几百个统计项。 |