Php 通过删除mysql中字符串的第一个字符来查找和
输入表Php 通过删除mysql中字符串的第一个字符来查找和,php,mysql,sql,Php,Mysql,Sql,输入表 username input A A10 B A9 C A8 D A7 E A0 F A4 诸如此类 如何通过从“输入”字段中删除“A”字符来查找输入的总和请尝试以下代码 select SUM(SUBSTRING(input, 2)) from input_table 试试这个,可能有用;) MySQL 5.6架构: CREATE TABLE input_table (`use
username input
A A10
B A9
C A8
D A7
E A0
F A4
诸如此类
如何通过从“输入”字段中删除“A”字符来查找输入的总和请尝试以下代码
select SUM(SUBSTRING(input, 2)) from input_table
试试这个,可能有用;)
MySQL 5.6架构:
CREATE TABLE input_table
(`username` varchar(1), `input` varchar(3))
;
INSERT INTO input_table
(`username`, `input`)
VALUES
('A', 'A10'),
('B', 'A9'),
('C', 'A8'),
('D', 'A7'),
('E', 'A0'),
('F', 'A4')
;
select sum(replace(input, 'A', '')) from input_table
| sum(replace(input, 'A', '')) |
|------------------------------|
| 38 |
查询1:
CREATE TABLE input_table
(`username` varchar(1), `input` varchar(3))
;
INSERT INTO input_table
(`username`, `input`)
VALUES
('A', 'A10'),
('B', 'A9'),
('C', 'A8'),
('D', 'A7'),
('E', 'A0'),
('F', 'A4')
;
select sum(replace(input, 'A', '')) from input_table
| sum(replace(input, 'A', '')) |
|------------------------------|
| 38 |
:
CREATE TABLE input_table
(`username` varchar(1), `input` varchar(3))
;
INSERT INTO input_table
(`username`, `input`)
VALUES
('A', 'A10'),
('B', 'A9'),
('C', 'A8'),
('D', 'A7'),
('E', 'A0'),
('F', 'A4')
;
select sum(replace(input, 'A', '')) from input_table
| sum(replace(input, 'A', '')) |
|------------------------------|
| 38 |
使用
RIGHT
函数获取右侧的数字并CAST
它,然后找到SUM
查询
SELECT SUM(CAST(RIGHT(input, LENGTH(input) - 1) AS UNSIGNED)) AS `SUM`
FROM input_table;
也可以尝试以下方法:
SELECT SUM(CAST(TRIM(LEADING 'A' FROM input)) AS UNSIGNED) AS total FROM table;
也许这就是你要找的。难道你不需要先把它当作一个数字吗?@DanBracuk,这也可以做到。但是如果确定只删除第一个获得数字的字符,则不能进行强制转换necessary@Anand,很高兴。你能接受这个答案吗?虽然这会起作用,但它缺乏其他两个答案的简单性。@DanBracuk:只是另一个角度。谢谢你的回答