我想獲得最新的排爲此,我傳遞給IN子句DISTINCT給人重複的結果
每個MSISDN這是我的表結構
CREATE TABLE `cell_volume_details` (
`id` int(12) NOT NULL AUTO_INCREMENT,
`date_time` bigint(20) DEFAULT NULL,
`cell_id` int(11) DEFAULT NULL,
`volume` bigint(20) DEFAULT NULL,
`dn` int(11) DEFAULT NULL,
`cg_key` varchar(5) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO CHARSET=latin1;
這是我的查詢
SELECT DISTINCT dn, cell_id as cell, cg_key
FROM cell_volume_details WHERE dn IN
(55484522680, 55484522794, 55484522289,
55484522995, 55484522840, 55484522106,
55484522610) ORDER BY id DESC;
這是結果
+-------------+-------+--------+
| dn | cell | cg_key |
+-------------+-------+--------+
| 55484522106 | 4181 | cg1 |
| 55484522106 | 21183 | cg1 |
| 55484522840 | 17369 | cg11 |
| 55484522289 | 1222 | cg2 |
| 55484522106 | 32181 | cg1 |
| 55484522106 | 32183 | cg1 |
| 55484522794 | 27363 | cg5 |
| 55484522995 | 24219 | cg3 |
| 55484522794 | 21368 | cg5 |
| 55484522794 | 40367 | cg5 |
| 55484522794 | 10367 | cg5 |
| 55484522289 | 1229 | cg2 |
| 55484522289 | 17228 | cg2 |
| 55484522289 | 1227 | cg2 |
| 55484522794 | 45368 | cg5 |
| 55484522610 | 6018 | cg9 |
| 55484522680 | 2373 | cg2 |
| 55484522610 | 1158 | cg9 |
| 55484522610 | 3151 | cg9 |
| 55484522794 | 13369 | cg5 |
| 55484522610 | 3153 | cg9 |
| 55484522289 | 1228 | cg2 |
| 55484522840 | 17369 | cg2 |
| 55484522610 | 14163 | cg9 |
| 55484522610 | 14169 | cg9 |
| 55484522794 | 8361 | cg5 |
| 55484522680 | 17373 | cg2 |
| 55484522794 | 8362 | cg5 |
| 55484522289 | 1225 | cg2 |
| 55484522794 | 10368 | cg5 |
| 55484522794 | 8367 | cg5 |
| 55484522680 | 17371 | cg2 |
| 55484522680 | 27362 | cg2 |
| 55484522995 | 24217 | cg3 |
| 55484522794 | 43369 | cg5 |
| 55484522794 | 10365 | cg5 |
| 55484522840 | 17369 | cg13 |
| 55484522610 | 1152 | cg9 |
| 55484522794 | 8368 | cg5 |
| 55484522995 | 24218 | cg3 |
+-----------+-------+--------+
我找不到有什麼問題,我在桌上有8千萬條記錄,當我做GROUP BY時,記錄變得非常慢,任何人都請幫助我
你需要一個'GROUP BY'選擇具有最大(ID)組的行。 – fedorqui
我在表中有80萬條記錄,當我做GROUP BY時,它變得非常慢 – Muhunthan
Distinct子句覆蓋所有選定的列 - 輸出如預期 - 您需要更改查詢以查找max(id)對於每個dn –