Mysql Order By 對同一值的 Varchar 列排序問題

Mysql Order By 對同一值的 Varchar 列排序問題

背景

TODO

數據

DROP TABLE IF EXISTS `tbl_rn_log`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `tbl_rn_log` (
  `SN` bigint(20) NOT NULL AUTO_INCREMENT,
  `STATUS` varchar(20) COLLATE utf8_bin NOT NULL,
  `SENDER` varchar(128) COLLATE utf8_bin DEFAULT NULL,
  `SENDTIME` bigint(20) NOT NULL,
  `SENDIP` varchar(128) COLLATE utf8_bin DEFAULT NULL,
  `OPERATIONUSER` varchar(128) COLLATE utf8_bin DEFAULT NULL,
  `ADDRESSES` varchar(1024) COLLATE utf8_bin NOT NULL,
  `BRIEFINFO` varchar(1024) COLLATE utf8_bin DEFAULT NULL,
  `TENANTID` varchar(50) COLLATE utf8_bin DEFAULT NULL,
  `PROJECT` varchar(32) COLLATE utf8_bin DEFAULT 'global',
  PRIMARY KEY (`SN`),
  KEY `TBL_RN_LOG_SENDTIME_INDEX` (`SENDTIME`)
) ENGINE=InnoDB AUTO_INCREMENT=53 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tbl_rn_log`
--

LOCK TABLES `tbl_rn_log` WRITE;
/*!40000 ALTER TABLE `tbl_rn_log` DISABLE KEYS */;
INSERT INTO `tbl_rn_log` VALUES (1,'0','192.168.1.15',1558594684463,'192.168.1.15','192.168.1.15','ec6f7c03cd022582834ac62520c9d3227d7463db7fc17d5e55f8c40ff1dace273a346bd97f3e8391dd16fd','1',NULL,'global'),(3,'1','192.168.1.15',1558594730408,'192.168.1.15','192.168.1.15','693260ebda5b546df637a2fa3c530172046b78171f7162f052c7eb622d47119c67cd0ef52e8bd7248ee600','2',NULL,'global'),(5,'0','192.168.1.15',1558594942150,'192.168.1.15','192.168.1.15','c926a89d226d718f345d2c3203c4a29b5deeccefcb41737a89b20ae9ae24d4813c7d03e8427f30ff53a78f','3',NULL,'global'),(7,'1','192.168.1.15',1558594987780,'192.168.1.15','192.168.1.15','0633facbe13f11ecceef383fc395b7a51e920cf8b026aa2c490e454afab1c4baca7782745951349235a75d','4',NULL,'global'),(9,'0','192.168.1.15',1558594988831,'192.168.1.15','192.168.1.15','2f8249628d533cafebd6a415fbbbd8e49ec9932512d5c1aa0f5545a534a4dd595397403796444978ccb99b','5',NULL,'global'),(11,'1','192.168.1.15',1558595037764,'192.168.1.15','192.168.1.15','02efda91e896dc1870a2fceff0a628f7b4428d9d604729021afc2056b5730ff7c69ec288ce7d5d2519657d','6',NULL,'global'),(13,'0','192.168.1.15',1558595038906,'192.168.1.15','192.168.1.15','28e465192ce7a2cd699d19433c1c0a20a1ec6a53c09c94cd7966650fdbfb5b12a37bdf568d623a4d69a4eb','8',NULL,'global'),(15,'1','192.168.1.15',1558595083635,'192.168.1.15','192.168.1.15','06c75a25b0c18fcdaa33b9881ccc716741ccabaed29b2f06f29953173c91c6ea447ef2cb2811efe9cf39e0','9',NULL,'global'),(17,'0','192.168.1.15',1558595084745,'192.168.1.15','192.168.1.15','5b93b7204b6bc0ec86dbac231801f71df9c31af627804f256e1ccbdeb4740279af24b2cdd46b3bc92c97fb','10',NULL,'global'),(19,'0','192.168.1.15',1558595092067,'192.168.1.15','192.168.1.15','5380bcb85c5aecf5b9e80e0135a1d0ff581d2e338f01689c2454f624289fb365c25ad61039c4f211cc155e','11',NULL,'global'),(21,'0','192.168.1.15',1558595099882,'192.168.1.15','192.168.1.15','852ed381e70079d870de71af1cd9e100612e016e9e9af0dc59a6606c9c6cd87e65fc0d0def19d766838878','12',NULL,'global'),(23,'1','192.168.1.15',1558595139935,'192.168.1.15','192.168.1.15','cabdf9654c717f6401369f8452c5f6c08ac582957ddfe9d2be27e3e232e75621f462269461a2c67bbc17a1','13',NULL,'global'),(25,'0','192.168.1.15',1558595140880,'192.168.1.15','192.168.1.15','83a7d94446b5e688d769f8f55c96f2cc8fab1413636f708085e19bc32f9661b31981421800d33fd08f5f93','14',NULL,'global'),(27,'1','192.168.1.15',1558595363264,'192.168.1.15','192.168.1.15','e319f341101409b91983227cc802513959b525610071f9d9fcf79849aa8398f02c978a7ca21fd86bf9369b','15',NULL,'global'),(29,'0','192.168.1.15',1558595376583,'192.168.1.15','192.168.1.15','4b6cee3ca5c0b94b5cdc6c4ad60e09b95fc8d37dea60e4f391ee082f959cbf2e7f3b4a8bddee2c0fc4047e','16',NULL,'global'),(31,'1','192.168.1.15',1558596095126,'192.168.1.15','192.168.1.15','d31ce8f013b756e293dd09b2f82f6bccb3cf419b415f76c7d7b1c796187901e080e6914d3fb020c2d0bafb','17',NULL,'global'),(33,'0','192.168.1.15',1558596189223,'192.168.1.15','192.168.1.15','5ffda5ccdb49bc24e9fe4e215a70d85178f9c7ae632326a023092567d35964af710b5438991f44aa28a1ef','18',NULL,'global'),(35,'0','192.168.1.15',1558596196462,'192.168.1.15','192.168.1.15','a75e0eecf22b91596219c53a32dba974044958137ee53a8782a8febd2251716c478b4ac3af5b895b0bd8e6','19',NULL,'global'),(37,'0','192.168.1.15',1558598393426,'192.168.1.15','192.168.1.15','9a9c96301e1eae6a8154cc08b12236d51ad0a2d27c323fd2e2d88538bedbcc25dfefb0f83b3ba21486f007','123456789',NULL,'global'),(39,'0','192.168.1.15',1558662516038,'192.168.1.15','192.168.1.15','2de09ba57207982875481ff43654b7090fa18d7d53403984b9ca265b39a142b127272a46767621cde5cb2e','9:47',NULL,'global'),(41,'1','192.168.1.15',1558662963495,'192.168.1.15','192.168.1.15','42943d728fda7a250241a16d533be9b652607cbe6b335fc1543f4d1b1085b07db570c4a1834a4116764fee','兩個用戶,容量限制爲2條,人數限制爲1',NULL,'global'),(43,'1','192.168.1.15',1558662964178,'192.168.1.15','192.168.1.15','c9d5d8d82a777711ce45f26584e92bf103f2eb0f257c49c618ca0dd1bfea4fe317db0a89389c1c79e4e336','兩個用戶,容量限制爲2條,人數限制爲1',NULL,'global'),(45,'0','192.168.1.15',1558663043324,'192.168.1.15','192.168.1.15','3314ff4a91274ad8227dded9af58dabb3b9ae792a509c3ee8b98337ff4eb7fc886820047b73e73b9b12d0b','兩個用戶,關閉流控',NULL,'global'),(47,'0','192.168.1.15',1558663043324,'192.168.1.15','192.168.1.15','00416309bd1a431bd204d39f6f23b8708d0d11f9d93deb23db0c01da2cb4d360ca3b2f4b5f6196d9d224bb','兩個用戶,關閉流控',NULL,'global'),(49,'0','192.168.1.15',1558663129242,'192.168.1.15','192.168.1.15','e828a302fc57203917a9d75017859943d98f46415f7727d216f2c3dce8f8dec606ea8ef9eb6014bf48d45b','兩個用戶,容量限制爲2條,人數限制爲2',NULL,'global'),(51,'0','192.168.1.15',1558663129243,'192.168.1.15','192.168.1.15','7398449a801afb27e841fe68e9219e5c9c8040ce3e204b5f88252c8a4034e22d3a579b1cd5f8034ca91759','兩個用戶,容量限制爲2條,人數限制爲2',NULL,'global');
/*!40000 ALTER TABLE `tbl_rn_log` ENABLE KEYS */;
UNLOCK TABLES;

INSERT INTO tbl_rn_log VALUES (1,0,192.168.1.16,1558594684463,192.168.1.16,192.168.1.16,ec6f7c03cd022582834ac62520c9d3227d7463db7fc17d5e55f8c40ff1dace273a346bd97f3e8391dd16fd,1,NULL,global);

limit

順序.

mysql> select sn,sender,sendtime from tbl_rn_log order by sender limit 15;
+----+--------------+---------------+
| sn | sender       | sendtime      |
+----+--------------+---------------+
|  1 | 192.168.1.15 | 1558594684463 |
|  3 | 192.168.1.15 | 1558594730408 |
|  5 | 192.168.1.15 | 1558594942150 |
|  7 | 192.168.1.15 | 1558594987780 |
|  9 | 192.168.1.15 | 1558594988831 |
| 11 | 192.168.1.15 | 1558595037764 |
| 13 | 192.168.1.15 | 1558595038906 |
| 15 | 192.168.1.15 | 1558595083635 |
| 17 | 192.168.1.15 | 1558595084745 |
| 19 | 192.168.1.15 | 1558595092067 |
| 21 | 192.168.1.15 | 1558595099882 |
| 23 | 192.168.1.15 | 1558595139935 |
| 25 | 192.168.1.15 | 1558595140880 |
| 27 | 192.168.1.15 | 1558595363264 |
| 29 | 192.168.1.15 | 1558595376583 |
+----+--------------+---------------+
15 rows in set (0.00 sec)

反序.

mysql> select sn,sender,sendtime from tbl_rn_log order by sender limit 16;
+----+--------------+---------------+
| sn | sender       | sendtime      |
+----+--------------+---------------+
| 31 | 192.168.1.15 | 1558596095126 |
| 29 | 192.168.1.15 | 1558595376583 |
| 27 | 192.168.1.15 | 1558595363264 |
| 25 | 192.168.1.15 | 1558595140880 |
| 23 | 192.168.1.15 | 1558595139935 |
| 21 | 192.168.1.15 | 1558595099882 |
| 19 | 192.168.1.15 | 1558595092067 |
| 17 | 192.168.1.15 | 1558595084745 |
| 15 | 192.168.1.15 | 1558595083635 |
| 13 | 192.168.1.15 | 1558595038906 |
| 11 | 192.168.1.15 | 1558595037764 |
|  9 | 192.168.1.15 | 1558594988831 |
|  7 | 192.168.1.15 | 1558594987780 |
|  5 | 192.168.1.15 | 1558594942150 |
|  3 | 192.168.1.15 | 1558594730408 |
|  1 | 192.168.1.15 | 1558594684463 |
+----+--------------+---------------+

無limit

順序.

mysql> select sn,sender,sendtime,operationuser from tbl_rn_log order by sender;
+----+--------------+---------------+---------------+
| sn | sender       | sendtime      | operationuser |
+----+--------------+---------------+---------------+
|  1 | 192.168.1.15 | 1558594684463 | 192.168.1.15  |
|  3 | 192.168.1.15 | 1558594730408 | 192.168.1.15  |
|  5 | 192.168.1.15 | 1558594942150 | 192.168.1.15  |
|  7 | 192.168.1.15 | 1558594987780 | 192.168.1.15  |
|  9 | 192.168.1.15 | 1558594988831 | 192.168.1.15  |
| 11 | 192.168.1.15 | 1558595037764 | 192.168.1.15  |
| 13 | 192.168.1.15 | 1558595038906 | 192.168.1.15  |
| 15 | 192.168.1.15 | 1558595083635 | 192.168.1.15  |
| 17 | 192.168.1.15 | 1558595084745 | 192.168.1.15  |
| 19 | 192.168.1.15 | 1558595092067 | 192.168.1.15  |
| 21 | 192.168.1.15 | 1558595099882 | 192.168.1.15  |
| 23 | 192.168.1.15 | 1558595139935 | 192.168.1.15  |
| 25 | 192.168.1.15 | 1558595140880 | 192.168.1.15  |
| 27 | 192.168.1.15 | 1558595363264 | 192.168.1.15  |
| 29 | 192.168.1.15 | 1558595376583 | 192.168.1.15  |
| 31 | 192.168.1.15 | 1558596095126 | 192.168.1.15  |
| 33 | 192.168.1.15 | 1558596189223 | 192.168.1.15  |
| 35 | 192.168.1.15 | 1558596196462 | 192.168.1.15  |
| 37 | 192.168.1.15 | 1558598393426 | 192.168.1.15  |
| 39 | 192.168.1.15 | 1558662516038 | 192.168.1.15  |
| 41 | 192.168.1.15 | 1558662963495 | 192.168.1.15  |
| 43 | 192.168.1.15 | 1558662964178 | 192.168.1.15  |
| 45 | 192.168.1.15 | 1558663043324 | 192.168.1.15  |
| 47 | 192.168.1.15 | 1558663043324 | 192.168.1.15  |
| 49 | 192.168.1.15 | 1558663129242 | 192.168.1.15  |
| 51 | 192.168.1.15 | 1558663129243 | 192.168.1.15  |
| 53 | 192.168.1.16 | 1558594684463 | 192.168.1.16  |
+----+--------------+---------------+---------------+
27 rows in set (0.00 sec)

反序.

mysql> select sn,sender,sendtime from tbl_rn_log order by sender;
+----+--------------+---------------+
| sn | sender       | sendtime      |
+----+--------------+---------------+
| 51 | 192.168.1.15 | 1558663129243 |
| 49 | 192.168.1.15 | 1558663129242 |
| 47 | 192.168.1.15 | 1558663043324 |
| 45 | 192.168.1.15 | 1558663043324 |
| 43 | 192.168.1.15 | 1558662964178 |
| 41 | 192.168.1.15 | 1558662963495 |
| 39 | 192.168.1.15 | 1558662516038 |
| 37 | 192.168.1.15 | 1558598393426 |
| 35 | 192.168.1.15 | 1558596196462 |
| 33 | 192.168.1.15 | 1558596189223 |
| 31 | 192.168.1.15 | 1558596095126 |
| 29 | 192.168.1.15 | 1558595376583 |
| 27 | 192.168.1.15 | 1558595363264 |
| 25 | 192.168.1.15 | 1558595140880 |
| 23 | 192.168.1.15 | 1558595139935 |
| 21 | 192.168.1.15 | 1558595099882 |
| 19 | 192.168.1.15 | 1558595092067 |
| 17 | 192.168.1.15 | 1558595084745 |
| 15 | 192.168.1.15 | 1558595083635 |
| 13 | 192.168.1.15 | 1558595038906 |
| 11 | 192.168.1.15 | 1558595037764 |
|  9 | 192.168.1.15 | 1558594988831 |
|  7 | 192.168.1.15 | 1558594987780 |
|  5 | 192.168.1.15 | 1558594942150 |
|  3 | 192.168.1.15 | 1558594730408 |
|  1 | 192.168.1.15 | 1558594684463 |
| 53 | 192.168.1.16 | 1558594684463 |
+----+--------------+---------------+
27 rows in set (0.00 sec)

max_length_for_sort_data

默認值1024 改爲10240,就所有的都是反序。

https://www.cnblogs.com/cchust/p/5304594.html