2015-11-07 26 views
1

總結目前,我有以下數據:SQL-如何從表

ID  state  
------------------- 
    1 display   
    2 display  
    3 display  
    4 display  
    5  no   
    6  yes 

我知道如何總結所有的ID:

SELECT SUM(id) FROM Message; 

但是,我有顯示(id = 4 here)的最新ID。

我試圖總結消息哪些狀態不是display

編輯:

我要總結的消息,他們的ID是大於4

任何建議嗎?

+0

簡單放在哪裏condtion –

+2

您的問題是非常基本的。所以你正在學習SQL,但不知道有一個WHERE子句?您在閱讀WHERE子句之前閱讀關於聚合的章節?當顯示一個不等於比較的WHERE子句('state <>'display'')時,你完全不知道如何構建一個比較大的對象('id> 4')?而不是在這裏問你應該繼續閱讀你的SQL書。它不會在你知道的第一頁上結束。 –

+1

這些ID的總和如何用於任何事情?這就像乘以電話號碼!!?!?而@thorsten當你的批評是有效的時候,很明顯在生產環境中,操作者不會知道最新'顯示'狀態的標識。 – Strawberry

回答

4

試試這個:

SELECT SUM(id) FROM Message WHERE state !='display' and id > 4; 
+0

我回答相同,但OP正在睡覺:) –

+0

@bluto我想這樣...... –

+0

@Suchit如何總結他們的id大於4的消息? – AFN

1

這就是:

SELECT SUM(id) FROM Message WHERE state <> 'display' AND id > 4; 
+0

如何對他們的id大於4的消息進行求和? – AFN

+0

@afn你可以檢查Suchit的回答 –

0

選擇狀態,COUNT(*)作爲計數 從消息 其中id> 4 組由國家

如果你想要數量大於10

計數> 10