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


  如以下内容:


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


我想基于SELECTDISTINCT number: expiry:

因此,预期输出将是:

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


如何实现呢?

最佳答案

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

现在,使用现有结构,您可以使用汇总来获取期望的数据

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


http://rextester.com/GLT33046

关于mysql - MySQL选择字段为“Distinct”,数据类型为“带过滤的文本”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47976871/

10-12 12:51