MySQL的。选择具有相同“值”的行,其中包含更多“|”符号

时间:2017-05-09 12:41:51

标签: mysql database

对于错误提出的问题,我很抱歉。 我会再试一次解释。

enter image description here

有两条记录值为1。 我想只选择一个包含更多“|”的记录符号。

如果只有一条记录具有唯一值,我也应该看到它。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

...也许

我们只需要一个标题长度减去标题的长度删除找到多少|有一个子查询。然后,我们将其连接到基础数据集上的值和出现次数。假设没有价值可以使标题具有相同的|在他们中间。

如果存在这种情况:则会返回该值的两个(或更多)记录。

我说也许是因为我假设我理解这个问题。

SELECT A.* 
FROM table A
INNER JOIN (SELECT max(length(title)-length(replace(title,'|','')))as Occurance, value
            FROM table
            GROUP By Value) B
 on A.Value = B.value
and length(title)-length(replace(title,'|','')) = B.Occurance

---------------------更新了新列

SELECT A.* 
FROM TABLE A
INNER JOIN (SELECT max(Components) as MaxComponents, value
            FROM Table
            GROUP By Value) B
 on A.Value = B.value
and A.Components = B.MaxComponents