2014-01-05 56 views
0

的百分比我有這樣的查詢:SQLite的 - 選擇基於總

SELECT id FROM my_table 
    WHERE ip IN (SELECT ip FROM my_table WHERE id IN (1, 2, 3, 4)) 
    GROUP BY id 
    HAVING SUM(count) >= 10 

而不是硬編碼要求總和(計數)> = 10,我希望它是總和(計數)是> =該ID的計數列的總和的10%(即沒有「WHERE IP IN ...」約束)

這是可能的這樣的查詢嗎?

回答

0

你可以寫一個子查詢,以獲得10%:

SELECT id FROM my_table 
WHERE ip IN (SELECT ip FROM my_table WHERE id IN (1, 2, 3, 4)) 
GROUP BY id 
HAVING SUM(count) >= (SELECT 0.1 * SUM(t.count) FROM my_table t WHERE t.id = my_table.id) 
+0

不會子查詢提供跨整個表SUM(計數)?我需要爲每個正在測試的特定ID。 – user3117610

+0

是的,對不起。嘗試編輯的版本。 – Szymon

+1

這工作,非常好,感謝您的幫助。 – user3117610