本文共 773 字,大约阅读时间需要 2 分钟。
oracle、hive都比较好支持分析函数(如sum() over partition by),db2就一般,mysql、sqlite直接就不支持。 因此有必要学会用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_SUMFROM TX_DETL_TEMPORDER BY A.AGT_NUM, A.AGT_MODIF_NUM, A.EVENT_DAY;详见: http://blog.csdn.net/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.csdn.net/sskicgah/article/details/37650653