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