有沒有辦法在不使用group by的情況下以某種其他方式使用HAVING子句。Rails活動記錄Mysql查詢查詢HAVING子句
我使用軌道和下面是我面臨的問題的一個樣本sccenario。在rails中,您可以使用Model.find(:all,:select,conditions,:group)函數來獲取數據。在這個查詢中,我可以在:group param中指定having子句。但是如果我沒有一個group by子句但想在結果集中有一個having子句呢?
例如:讓我們查詢
SELECT SUM(X),其爲,B,C從y,其中 「some_conditions」 組由B,C;
此查詢在其中一個字段上具有sum()聚合。沒有,如果沒有什麼要聚合,那麼我的結果應該是一個空集。但是mysql返回一個NULL行。所以這個問題可以通過使用
SELECT SUM(X)爲a,b從y,其中 「some_conditions」 基團由b。具有NOT NULL來解決;
但如果我沒有group by子句會發生什麼?像下面
SELECT SUM(X)爲a,b從y,其中 「some_conditions」 的查詢;
因此如何指定金額(x)的不應該是NULL?
會在這種情況下,而不是一個空行返回一個空集的任何解決方案將幫助,也該解決方案應該是可行的軌道。
我們可以使用子查詢得到這個條件與sumthin這樣工作
SELECT * FROM((SELECT SUM(X)爲B與Y,其中 「some_condition」)作爲SUBQ),其中subq.b不爲空;
,但有沒有更好的辦法來做到這一點直通SQL /軌道?
@marcus斯 - 的作品!謝謝! – meetraghu28 2010-04-12 10:18:51