2013-02-12 38 views
2

我在我的sql查詢中使用GROUP BY。GROUP BY在sqlite筆記工作

查詢:

SELECT _id, message_type, message_type_id FROM msgs_list GROUP BY message_type_id 

這個查詢是不是做GROUP BY的功能。 **它的功能是:

SELECT _id, message_type, message_type_id FROM msgs_list 

當我從設備下載數據庫到Windows機器時,相同的查詢在Windows機器上運行完美。

把觀察結果:

enter image description here

預期的結果:

enter image description here

任何機構可以建議可能的解決方案。

謝謝,
沙。

+0

那麼,什麼是*實際*結果,什麼是*預期*結果,什麼是*輸入*數據? (有可能是*不是* SQLite中的一個錯誤,它將「預期」失敗縮小爲1.無效/意外查詢,或許是過時的,或2.意外的數據。) – 2013-02-12 06:08:38

+0

@pst請檢查更新屏幕索引更清晰。 – sha 2013-02-12 06:20:21

+0

如何在Android上執行查詢?在遠程shell或應用程序代碼中的sqlite3?我很驚訝沒有執行該聲明時的警告/錯誤。無論如何,我很好奇基於客戶端的行爲會有什麼不同。 – 2013-02-12 06:24:45

回答

0

由於每一個用於支撐。

問題不在SQL查詢中。問題是CursorTreeAdapter,我使用的適配器爲ExpandibleListView

在適配器的getGroupCount()方法中,我用cursor.getCount()更新了默認計數。現在它按預期工作。

再次,非常感謝您的建議。

Regards,
Sha。

2

您使用的是錯誤的語法,本集團通過如下語法:

SELECT column_name, aggregate_function(column_name) 
FROM table_name 
WHERE column_name operator value 
GROUP BY column_name 

在你的情況你不使用任何的aggregate_function。

實施例:

SELECT Customer,OrderDate,SUM(OrderPrice) 
FROM Orders 
GROUP BY Customer,OrderDate 
+0

感謝您的回答。我將使用聚合函數並會讓你知道結果。 – sha 2013-02-12 06:37:44

+0

我嘗試了上面提供的聚合。 'SELECT _id,message_type,message_type_id,COUNT(*)FROM msgs_list GROUP BY message_type_id' – sha 2013-02-12 06:55:55

+0

這兩個都是這樣的:SELECT _id,message_type,message_type_id,COUNT(*)FROM msgs_list GROUP BY message_type_id HOW_ COUNT(*)> 0' and '沒有按預期工作。 – sha 2013-02-12 06:57:32