我有一张桌子
pattern | score
----------+------
12345 | 2
123456 | 2
1234 | 2
123 | 2
1234567 | 3
12345678 | 3
我需要输出为:
pattern | score
----------+------
123 | 2
1234567 | 3
逻辑基于获得具有相同分数的最长模式,即123具有分数2,现在如果数字以123开始则其分数应为2,与模式相同1234567是具有分数3的最长模式,所以无论整数是什么,如果它以1234567开头,则分数为3分配给它。
我无法弄清楚如何使用sql,虽然它是可能的,但它是否值得或使用编程语言这样做更好?
答案 0 :(得分:0)
这似乎符合你的要求:
select min(pattern), score
from table t
group by score;
对于您的样本数据,它给出了期望结果。如果这不正确,请使用更详细的示例数据编辑您的问题,以便更好地解释逻辑。