下面有一个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
...
请求应该足够快: 非常感谢你!
答案 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案例。
然后将其应用于您的查询。