微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在不保留字符串而不是字符数的情况下,对字符串的最大值进行分组?

如何解决如何在不保留字符串而不是字符数的情况下,对字符串的最大值进行分组?

| 我该如何转动
 +--------+---------------+           
 | ID     |  name         |           
 |--------|---------------|           
 +   1    | tim           |           
 +-------------------------           
 |   1    | timothy       |           
 +--------++--------------+           
 |   1    | timmy         |           
 +--------|---------------|           
 |   2    | jane          +           
 +--------+---------------+           
入这个?
 +--------+---------------+           
 | ID     |  name         |           
 |--------|---------------|           
 +   1    | timothy       |           
 +-------------------------           
 |   2    | jane          |           
 +--------++--------------+           
问题似乎是在字符串上使用MAX的同时保留字符串和按ID分组的问题之一。 FWIW,该表实际上有7K行和大约40列;我认为这无关紧要,但我只是为了以防万一。 在我现有的MAX努力下,我正在整合整数,但没有整合字符串...     

解决方法

        
Select Id,Name
From MyTable
    Join    (
            Select Id,Max( Char_Length( name ) ) As NameLen
            From MyTable
            Group By Id
            ) As Z
        On Z.Id = MyTable.Id
            And Z.NameLen = Char_Length( MyTable.Name )
当然,这将无法处理
Rob
Bob
之类的情况。在这种情况下,两个都将被退回。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。