我需要使用mysql查詢的幫助。MySQL查詢。如何對一個字段進行分組並僅保留其他字段的唯一
所以,我有這樣的
---------------------------------------------------------------
ReceivingDateTime | SenderNumber | TextDecoded | UDH |
---------------------------------------------------------------
2013-01-31 16:12:19 | +70000001111 | Bla-bla-bla | 050003A70201 |
2013-01-31 16:12:19 | +70000001111 | Bla-bla-bla | 050003A70202 |
2012-01-20 19:24:21 | +70000001111 | Bla-bla-bla | |
2012-01-18 14:14:19 | +70000002222 | Bla-bla-bla | |
2012-01-21 13:12:20 | +70000002222 | Bla-bla-bla | |
2012-01-15 17:12:10 | +70000003333 | Bla-bla-bla | 050003DC0201 |
2012-01-15 17:13:18 | +70000003333 | Bla-bla-bla | 050003DC0202 |
現在我的查詢表是
SELECT
GROUP_CONCAT(TextDecoded SEPARATOR '') TextDecoded,
`ID`
FROM `inbox`
GROUP BY IF(UDH='',id,SUBSTR(UDH,1,10)) ORDER by `ReceivingDateTime` DESC;
問題
它的工作原理幾乎是很好,但我希望看到這樣的事情
-------------------------------------------------------------
ReceivingDateTime | SenderNumber | TextDecoded |
-------------------------------------------------------------
2013-01-31 16:12:19 | +70000001111 | Bla-bla-blaBla-bla-bla |
2012-01-21 13:12:20 | +70000002222 | Bla-bla-bla |
2012-01-15 17:12:10 | +70000003333 | Bla-bla-blaBla-bla-bla |
我認爲它應該工作:由UDH對TextDecoded進行分組,按日期排序,只保留唯一的SenderNumber,它比其他相同的SenderNumber更新。 (也許這是錯誤的)。對不起,我的法語。
不清楚你在問什麼,你可以添加更簡潔 –
什麼是「id」列? – KrazzyNefarious
我不知道你會不會理解我,但我會盡力解釋。讓我們看看iPhone的消息,你只能看到屏幕上最新的消息,但當你點擊它時,還有更多。在我的情況幾乎相同。即使您將在Mac OS上查看Mail.app,也會收到由發件人分組的所有郵件。你說對了?或需要更多的解釋?:) –