从 MySql 获取唯一值
Get unique values from MySql
在我的 table 中有如下值:14、15、14、R14、R15、R15C、R14C,....
在当前不同模式下,我得到:14、R14、R14C、R15、R15C,...
但我想要的只是像这样的唯一数字:14, 15,...
要摆脱字母并只获得唯一数字?
我当前的代码:
SELECT DISTINCT diameter FROM tires WHERE category = '$cat' ORDER BY diameter ASC
SELECT DISTINCT 0 + REGEXP_REPLACE(diameter, '^[[:alpha:]]*', '') diameter
FROM tires;
正则表达式从开头删除所有字母字符,然后通过添加零将该值隐式转换为数字(事实上 - 删除尾随字母)。
I forget to tell that I have decimal values like R22,5 - RoX
在 REGEXP_REPLACE() 之前或之后,但在添加零之前,用点替换逗号。例如,
SELECT DISTINCT 0 + REGEXP_REPLACE(REPLACE(diameter, ',', '.'), '^[[:alpha:]]*', '') diameter
FROM tires;
PS。我建议将生成的列添加到 table 结构中。参见 example。
在我的 table 中有如下值:14、15、14、R14、R15、R15C、R14C,....
在当前不同模式下,我得到:14、R14、R14C、R15、R15C,...
但我想要的只是像这样的唯一数字:14, 15,...
要摆脱字母并只获得唯一数字?
我当前的代码:
SELECT DISTINCT diameter FROM tires WHERE category = '$cat' ORDER BY diameter ASC
SELECT DISTINCT 0 + REGEXP_REPLACE(diameter, '^[[:alpha:]]*', '') diameter
FROM tires;
正则表达式从开头删除所有字母字符,然后通过添加零将该值隐式转换为数字(事实上 - 删除尾随字母)。
I forget to tell that I have decimal values like R22,5 - RoX
在 REGEXP_REPLACE() 之前或之后,但在添加零之前,用点替换逗号。例如,
SELECT DISTINCT 0 + REGEXP_REPLACE(REPLACE(diameter, ',', '.'), '^[[:alpha:]]*', '') diameter
FROM tires;
PS。我建议将生成的列添加到 table 结构中。参见 example。