Mysql Group Concat Range

时间:2017-05-23 07:06:09

标签: mysql

我有这样的查询:

SELECT GROUP_CONCAT(urut SEPARATOR '; ') AS urut
   FROM pipe a
GROUP BY a.seal;

然后我得到:

记录1:

+-------------------------------------+
| 1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11;  |
| 12; 13; 14; 15; 16; 17; 18; 19; 20; | 
| 21; 22; 23; 24; 25; 26; 27; 28; 29; | 
| 30; 31; 32; 33; 34; 35; 36; 37; 38; | 
| 39; 40; 41; 42; 43; 44              | 
+-------------------------------------+

记录2:

+-----------------------------------------+
| 45; 46; 47; 48; 49; 50; 51; 52; 53; 54; |
| 55; 56; 57; 58; 59; 60; 61; 62; 63; 64; |
| 65; 66; 67; 68; 69; 70; 71; 72; 73; 74; |
| 75; 76; 77; 78; 79; 80; 81; 82; 83; 84; |
| 85; 86; 87; 88                          |
+-----------------------------------------+

是否有一个函数可以使输出像

一样短
+------+
| 1-44 |
|45-88 |
+------+

请告知

1 个答案:

答案 0 :(得分:2)

您可以使用

自行构建
SELECT CONCAT(MIN(urut), '-', MAX(urut)) AS urut
   FROM pipe a
GROUP BY a.seal;