내가 말하면 :
select max(length(Name))
from my_table
결과는 18이지만 관련 데이터도 원합니다. 그래서 내가 말하면 :
select max(length(Name)),
Name
from my_table
...작동하지 않습니다. 내가 알아낼 수없는 자기 조인이 있어야한다.
누구든지 나에게 단서를 줄 수 있습니까?
내가 말하면 :
select max(length(Name))
from my_table
결과는 18이지만 관련 데이터도 원합니다. 그래서 내가 말하면 :
select max(length(Name)),
Name
from my_table
...작동하지 않습니다. 내가 알아낼 수없는 자기 조인이 있어야한다.
누구든지 나에게 단서를 줄 수 있습니까?
답변:
수정 됨, 알 수없는 max () 값에 대해 작동합니다.
select name, length( name )
from my_table
where length( name ) = ( select max( length( name ) ) from my_table );
name
최대 길이가 18 인 우려 를 원합니다
select max(length(Name)) as num1,Name from my_table group by Name having num1 = 18
첫 번째 쿼리에서 max가 18이라는 것을 알고 있기 때문에 내가 원하는 것을 얻었습니다 . 그러나 이것을 하나의 쿼리로 결합하는 방법은 무엇입니까?
좋아, 무엇을 사용하고 있는지 잘 모르겠지만 (MySQL, SLQ Server, Oracle, MS Access ..) 아래 코드를 시도해 볼 수 있습니다. W3School 예제 DB에서 작동합니다. 여기에 이것을 시도하십시오 :
SELECT city, max(length(city)) FROM Customers;
사용하다:
SELECT mt.name
FROM MY_TABLE mt
GROUP BY mt.name
HAVING MAX(LENGTH(mt.name)) = 18
... 사전에 길이를 알고 있다고 가정합니다. 그렇지 않은 경우 다음을 사용하십시오.
SELECT mt.name
FROM MY_TABLE mt
JOIN (SELECT MAX(LENGTH(x.name) AS max_length
FROM MY_TABLE x) y ON y.max_length = LENGTH(mt.name)
Select URColumnName From URTableName Where length(URColumnName ) IN
(Select max(length(URColumnName)) From URTableName);
이것은 최대 길이를 가진 특정 열의 레코드를 제공합니다.
제안 된대로 LENGTH () 대신 CHAR_LENGTH () 사용 : MySQL-length () vs char_length ()
SELECT name, CHAR_LENGTH (name) AS mlen FROM mytable ORDER BY mlen DESC LIMIT 1