2015-11-24 63 views
0

對於dreamfactory的第2版,我無法像以前一樣在過濾器或字段參數中使用聚合函數。Dreamfactory:如何在查詢中使用MySQL聚合函數

假設例子,我怎樣才能查詢以下使用API​​

SELECT HOUR(col2), MAX(col1)-MIN(col1) 
FROM table_name 
WHERE col3=CURDATE() 
GROUP BY col3 

,我發現了以下錯誤:

1)DateTime::__construct(): Failed to parse time string (CURDATE) at 
    position 0 (C): The timezone could not be found in the database. 
2)Invalid field requested: HOUR(col2) 
+1

版本2是什麼? –

+0

你的輸出是什麼..請說明你需要什麼.. –

+0

@jeffcarey,對不起,我的意思是https://www.dreamfactory.com/ – bravokeyl

回答

0

有幾件事情要注意。 「SELECT」字段不能包含函數調用,但從版本2.0.2開始,DreamFactory支持virtual fields。創建vcol2爲「HOUR(col2)」,並將vcol1設置爲「MAX(col1)-MIN(col1)」,然後在您的字段參數中使用它們。

至於過濾器錯誤,解析中存在一個bug,下週(12月21日)發佈的2.0.3版本中會修復這個錯誤,但所有函數調用必須被parens包圍,即「col3 = (CURDATE())」。

這裏是正確的API查詢:

GET http://server/api/v2/service/_table/table_name?filter=col3%20%3D%20(CURDATE())&group=col3&fields=vcol2,vcol1