MAX(ID), MIN(ID)
MYSQL 쿼리에서 더 많은 열을 얻는 방법?MAX (ID), MIN (ID) MYSQL 쿼리에서 더 많은 정보를 얻으시겠습니까?
현재 나는 두 개의 값을 얻을 : MAX(ID) & MIN(ID)
이 쿼리에서 :
SELECT column1, column2
FROM mytable
WHERE series = 'white'
AND ID=Max(ID)
'AND GET ME ALSO'
WHERE series = 'white'
AND ID=Min(ID);`
그것은 2 개 행을 반환해야합니다
SELECT MIN(ID), MAX(ID) FROM mytable WHERE mytable.series = 'white' ;
이-의사 쿼리 같은 것을 얻기 위해 필요 '흰색'과 같은 열 '계열'
ID = Min (ID)의 경우 첫 번째 열과 두 번째 열이 있습니다. ID = Max (ID)의 경우 column1 및 column2로 두 번째입니다.
하지만 어떻게?
SELECT column1, column2
FROM mytable
WHERE series = 'white' AND ID IN
(
SELECT MIN(ID) FROM mytable WHERE series = 'white'
UNION
SELECT MAX(ID) FROM mytable WHERE series = 'white'
)
(series, id)
에 결합 된 인덱스를 추가 좋은 성능을 위해 :
. 데이터의 +5000 행은 ... 정상입니까? – Ash501
@ Ash501 : 그건 절대 정상이 아닙니다. 색인을 추가하는 것을 잊었습니까? 인덱스 제안을 포함하도록 답변을 업데이트했습니다. 하지만 5000 행으로 인덱스보다 * 빠르다는 것이 훨씬 더 빠를 것이라고 생각합니다. 데이터베이스 서버의 성능이 저하되었거나 과부하 상태입니까? 성능이 문제이며 'SHOW CREATE TABLE ...'의 출력과'EXPLAIN SELECT '의 결과를 포함하도록 질문을 업데이트 할 수 있습니까? –
@ Ash501, 왜냐하면 MySQL은 각 행에 대해 하위 쿼리를 실행해야하므로 하위 쿼리가 느리기 때문입니다. 그의 두 번째 솔루션은 올바른 색인을 설정했다면 더 빠를 것입니다. –