不知道如何框架這個,但在這裏。排序線程對話
這是一個排序算法問題
工具我有玩的服務器和JavaScript/jQuery的在瀏覽器端
我需要移動數據對PostgreSQL的和python(2.6)描述螺紋從postgres數據庫到網頁的對話。該數據按照時間順序開始了,我想在線程顯示
創紀錄的數字是小的 - 應該不會超過100條短信返回
所以,作爲一個簡單的例子,假設表:
ID Reply_To Text
=== ======== =============================
1 0 Hello World
2 0 Make me a sandwich
3 1 Hello back
4 2 No chance
5 1 Who are you?
6 5 Me of course
終點我想達到的
- 的Hello World
- 你好回
- 你是誰?
- 我當然
- 讓我一個三明治
- 沒有機會
或者,換一種方式......
ID Reply_To Text
=== ======== =============================
1 0 Hello World
3 1 Hello back
5 1 Who are you?
6 5 Me of course
2 0 Make me a sandwich
4 2 No chance
我並沒有在這裏找到完整的解決方案,所有ajax,json和格式化的東西,我很樂意繼續。
我只是遇到了問題,讓我的頭腦最好的方式來管理排序。
SQL?蟒蛇? JavaScript的?
我目前正在與陣列各種打在Javascript(因爲沒有更好的原因,而不是事實,我的Python的技能是非常弱)
編輯 目前我在這樣的:
function byThread(a,b) {
if (a.reply > b.id && a.reply != 0){
console.log("Compared id=" + a.id + " with id=" + b.id + " and returned -1 ")
return -1;
}
if (a.id > b.reply && b.reply != 0){
console.log("Compared id=" + a.id + " with id=" + b.id + " and returned 1 ")
return 1;
}
console.log("Compared id=" + a.id + " with id=" + b.id + " and returned 0 ")
return 0;
}
msg.sort(byThread);
它很令人沮喪地關閉
你可能會有所幫助:[圖表](http://www.artfulsoftware.com/mysqlbook/sampler/mysqled1ch20.html)。 Postgres支持CTE,這使得這更容易。 – Dinesh 2014-12-02 00:39:34
不確定您對「Reply_To」的閱讀。如果仍然要收集數據,爲什麼不使用[SQL Fiddle](http://sqlfiddle.com/#!15/063f4/1/0)中的「Thread」列。由於沒有關於應用程序上下文的更多上下文,這似乎使生活變得更容易。 – Abecee 2014-12-02 00:56:47
對不起@Abecee總是很棘手,以決定包含多少信息,而不過分冗長 - 在這種情況下,我無法控制數據結構 - 我堅持給我的字段 – PerryW 2014-12-02 00:59:55