我需要使用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,也会收到由发件人分组的所有邮件。你说对了?或需要更多的解释?:) –