2013-06-12 73 views
1

我不確定這是否真的可以在sqlite中做,因爲我環顧四周。sqlite結合基於計數的列數據

這裏就是我有一個表的一部分(NONE是PK,FK,或ID,只是常規的文本數據):

col1 col2 col3 
    foo1 bar1 foobar1 
    foo1 bar1 foobar2 
    foo1 bar1 foobar3 

我能夠選擇的foo1和bar1by做

計數
SELECT col1, col2, COUNT(*) 
    FROM table1 
    GROUP BY col1 
    HAVING COUNT(*) > 1; 

找到重複列,但我的最終目標是將數據在第3列合併成一列,用斜槓即foobar1/foobar2/foobar3分隔,並刪除選定行的所有,但1所以輸出將是:

col1 col2 col3 
    foo1 bar1 foobar1/foobar2/foobar3 

這是非常困難的,我認爲只能在SQLite中完成,但也許有可能嗎?如果不是,你會如何用Java這樣的常規編程語言來做到這一點?我正在做Android編程,因此我可以訪問數據庫並執行查詢。

+0

我剛剛發現這一點,看起來正是你所要求的。 http://stackoverflow.com/questions/194852/concatenate-many-rows-into-a-single-text-string – LuckyMe

回答

2

我敢肯定SQLite支持GROUP_CONCAT

SELECT col1, col2, GROUP_CONCAT(col3) col3 
FROM table1 
GROUP BY col1, col2 

如果你需要的分隔符從 「」 更改爲 「/」,然後使用:

GROUP_CONCAT(col3, '/') col3 
+0

謝謝!你真的幫了我很多。我認爲這會比這更難。 – John61590

+0

不錯,不知道是否存在。 – LuckyMe