MYSQL连接请求和字符串减法

时间:2012-10-09 09:42:47

标签: mysql string request concat

下面有一个mysql表:

id   user_id   ticket 
1    39        56478939
2    51        42234951
3    40        56478940
4    52        67284952

票证(例如第一行)= 564789 + 39(user_id) 我的请求如下:

SELECT CONCAT_WS(";", id, user_id, ticket) FROM `signals` 

我会得到:

1;39;56478939
2;51;42234951
...

如何使用MYSQL请求获取此类数据(从故障单末尾的ticket user_id中删除):

1;39;564789
2;51;422349
...

请求应该足够快: 非常感谢你!

4 个答案:

答案 0 :(得分:1)

试试这个:

SELECT CONCAT_WS(";", id, user_id, LEFT(ticket,length(ticket)-length(user_id))) from table1;

<强> FIDDLE DEMO

答案 1 :(得分:0)

试试这个:

           SELECT CONCAT_WS(";", id, user_id, LEFT(ticket,6)) FROM `signals` 

答案 2 :(得分:0)

试试这个:

SELECT CONCAT_WS(";", id, user_id, left(ticket,length(ticket)-length(user_id)))
FROM `signals` 

答案 3 :(得分:0)

您可以使用此查询 -

SELECT (ticket - user_id) DIV
  CASE
    WHEN user_id < 10 THEN 10
    WHEN user_id < 100 THEN 100
    ELSE 1000 END
FROM signals;

如果需要,请添加更多WHEN案例。

然后将其应用于您的查询。