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);