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

| 我该如何转动
 +--------+---------------+           
 | 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
之类的情况。在这种情况下,两个都将被退回。     

要回复问题请先登录注册