我该怎么转
+--------+---------------+
| ID | name |
|--------|---------------|
+ 1 | tim |
+-------------------------
| 1 | timothy |
+--------++--------------+
| 1 | timmy |
+--------|---------------|
| 2 | jane +
+--------+---------------+
进入这个?
+--------+---------------+
| ID | name |
|--------|---------------|
+ 1 | timothy |
+-------------------------
| 2 | jane |
+--------++--------------+
问题似乎是在字符串上使用MAX,同时保留字符串并按ID分组。
FWIW,该表实际上有7K行和大约40列;我认为这不重要,但我提到它以防万一。
在我现有的MAX努力中,我得到整数来巩固,但不是字符串......
答案 0 :(得分:2)
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
这样的情况。在这种情况下,两者都将被退回。