MySQL修剪选择结果输出

MySQL修剪选择结果输出,mysql,sql,select,trim,Mysql,Sql,Select,Trim,我有下面的MySQL查询结果,我只想在@之前的用户名第一部分它只需要1000013部分,我想删除example.com部分,是否可以通过修剪 mysql> SELECT UserName,DAY(AcctStartTime), COUNT(ResponseCode='200') FROM table201412 WHERE UserName='10000013@example.com' GROUP BY DATE(AcctStartTime); +---------------------

我有下面的
MySQL
查询结果,我只想在
@
之前的用户名第一部分它只需要
1000013
部分,我想删除
example.com
部分,是否可以通过修剪

mysql> SELECT UserName,DAY(AcctStartTime), COUNT(ResponseCode='200') FROM table201412 WHERE UserName='10000013@example.com' GROUP BY DATE(AcctStartTime);
+---------------------------+--------------------+------------------------------+
| UserName                  | DAY(AcctStartTime) | COUNT(ResponseCode='200') |
+---------------------------+--------------------+------------------------------+
| 10000013@example.com |                  1 |                            3 |
| 10000013@example.com |                  2 |                            5 |
| 10000013@example.com |                  3 |                            3 |
+----------------------+--------------------+------------------------------+
10 rows in set (0.00 sec)
我需要以下结果:

+---------------------------+--------------------+------------------------------+
| UserName                  | DAY(AcctStartTime) | COUNT(ResponseCode='200') |
+---------------------------+--------------------+------------------------------+
| 10000013                  |                  1 |                            3 |
| 10000013                  |                  2 |                            5 |
| 10000013                  |                  3 |                            3 |
+---------------------------+--------------------+------------------------------+
10 rows in set (0.00 sec)

最简单的方法是使用
子字符串\u index()

在您的查询中,这将是:

SELECT substring_index(UserName, '@', 1) as EmailName, DAY(AcctStartTime), COUNT(ResponseCode='200')
FROM table201412
WHERE UserName='10000013@example.com'
GROUP BY DATE(AcctStartTime);
如果您费心去做,您会发现没有,您不能使用
trim()
来进行此操作。
SELECT substring_index(UserName, '@', 1) as EmailName, DAY(AcctStartTime), COUNT(ResponseCode='200')
FROM table201412
WHERE UserName='10000013@example.com'
GROUP BY DATE(AcctStartTime);