MySQL选择字段为Distinct,数据类型为Text with filtering

时间:2017-12-26 10:04:04

标签: mysql distinct

如果我们有一个表T1,其中一个名为orders的字段的数据类型为Text

  

如下:

user:1|number:2|expiry:9/2018
user:3|number:2|expiry:9/2018
user:1|number:3|expiry:1/2020

我希望SELECT DISTINCT基于number:expiry:

所以预期的产出将是:

user:1|number:2|expiry:9/2018
user:1|number:3|expiry:1/2020

如何实现?

1 个答案:

答案 0 :(得分:0)

您应该考虑重新构建数据并将这些详细信息保存在单独的列或另一个表中以及不同的列中,以避免此类结构问题。

目前,对于现有结构,您可以使用聚合来获取预期数据

select min(orders) orders
from table1
group by substring_index(orders,'|',-2)

http://rextester.com/GLT33046