oracle、hive都比较好支持分析函数(如sum() over partition by),db2就一般,mysql、sqlite直接就不支持。
因此有必要学会用SQL实现分析函数。
sum() over partition by在Mysql中的替代方法(不适合sqlite因为其不支持本地变量定义)
http://blog.youkuaiyun.com/mengtianyalll/article/details/45767603
sqlite替代方法
http://stackoverflow.com/questions/16847574/how-to-use-row-number-in-sqlite
http://stackoverflow.com/questions/14023292/how-to-get-rownum-like-column-in-sqlite-iphone/19199219#19199219
java中的替代方法(比较复杂,未试验)
http://blog.youkuaiyun.com/sskicgah/article/details/37650653
因此有必要学会用SQL实现分析函数。
sum() over partition by在Mysql中的替代方法(不适合sqlite因为其不支持本地变量定义)
SET @txn_amt_sum=0;
SELECT A.AGT_NUM, A.AGT_MODIF_NUM, A.EVENT_DAY,
IF(@last_agt_num = A.AGT_NUM and @last_agt_modif_num = A.AGT_MODIF_NUM, @txn_amt_sum := @txn_amt_sum + txn_amt, @txn_amt_sum := txn_amt) AS TXN_AMT_SUM
FROM TX_DETL_TEMP
ORDER BY A.AGT_NUM, A.AGT_MODIF_NUM, A.EVENT_DAY;详见:http://blog.youkuaiyun.com/mengtianyalll/article/details/45767603
sqlite替代方法
http://stackoverflow.com/questions/16847574/how-to-use-row-number-in-sqlite
http://stackoverflow.com/questions/14023292/how-to-get-rownum-like-column-in-sqlite-iphone/19199219#19199219
java中的替代方法(比较复杂,未试验)
http://blog.youkuaiyun.com/sskicgah/article/details/37650653
本文详细介绍了如何在Mysql和SQLite中实现类似Oracle、Hive等数据库支持的分析函数(如sum()overpartitionby),包括Java中的替代方法,并提供了具体的实现代码和链接。
628

被折叠的 条评论
为什么被折叠?



