[sql] mysql의 max (length (field))
내가 말하면 :
select max(length(Name))
from my_table
결과는 18이지만 관련 데이터도 원합니다. 그래서 내가 말하면 :
select max(length(Name)),
Name
from my_table
…작동하지 않습니다. 내가 알아낼 수없는 자기 조인이 있어야한다.
누구든지 나에게 단서를 줄 수 있습니까?
답변
SELECT name, LENGTH(name) AS mlen
FROM mytable
ORDER BY
mlen DESC
LIMIT 1
답변
수정 됨, 알 수없는 max () 값에 대해 작동합니다.
select name, length( name )
from my_table
where length( name ) = ( select max( length( name ) ) from my_table );
답변
좋아, 무엇을 사용하고 있는지 잘 모르겠지만 (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);
이것은 최대 길이를 가진 특정 열의 레코드를 제공합니다.
답변
동일한 테이블에서 최대 및 최소가 모두 필요한 경우 :
select * from (
(select city, length(city) as maxlen from station
order by maxlen desc limit 1)
union
(select city, length(city) as minlen from station
order by minlen,city limit 1))a;
답변
select *
from my_table
where length( Name ) = (
select max( length( Name ) )
from my_table
limit 1
);
이것은 두 개의 테이블 스캔을 포함하므로 그리 빠르지 않을 수 있습니다!