我正在將我的MySql查詢轉換爲我們正在面臨執行SUM聚合函數問題的項目之一的Vertica數據庫上運行。Vertica數據庫中的總和查詢
MySQL查詢:
SELECT event.plateNumber, event.plateCodeId, sum( event.sourceId
in (1,2,3)) as 'sum' from event group by event.plateNumber, event.plateCodeId
having sum( event.sourceId in (1,2,3)) > 0 ;
我試圖運行Vertica的數據庫這個查詢,並具有以下例外。
錯誤:函數總和(布爾)不存在,或許可被拒絕總和(布爾)
當我們提到Vertica的documentation約SUM聚合函數,它看起來像有在功能上沒有區別簽名。
我試圖查看不同的網站,但不能得到任何幫助,以上面提到的MYSQL查詢轉換爲Vertica查詢。
任何人都可以幫忙嗎?
謝謝
我不想在有查詢結果和0列。 – Michael
這對SUM謂詞應該沒有什麼不同,但是如果要用null替換0,則可以刪除語句的「ELSE 0」部分:sum(CASE WHEN event.sourceId in(1,2, 3)THEN 1 END)as'sum'。 –
@mauro答案也是一樣的,確實更優雅 –