2016-09-07 1 views
-1

일련 번호와 관련된 마지막 배포를 찾고 있는데 최신 날짜가 없으면 특정 일련 번호. 다음을 입력하면 오류 1241이 표시됩니다.SQL 오류 (1241) : 피연산자가 1 열을 포함해야 함 - 날짜순으로 정렬

select deployment, device_serial_number from action_archive 
where (.....) 
group by device_serial_number 
order by 'date' 
+1

전체 오류 메시지를 추가하십시오. – Jens

+1

집계를 사용하지 않고'그룹 by '을 사용하는 이유는 무엇입니까? – Siyual

+0

날짜가 작은 따옴표로 묶인 이유는 무엇입니까? 작은 따옴표는 문자열 및 순서를 의미하므로 열 또는 표현식이 필요합니다. – Shadow

답변

0

한 가지 방법은 하위 쿼리를 사용합니다. 다음과 같이 보입니다.

select aa.* 
rom action_archive aa 
where (.....) and 
     `date` = (select max(aa2.date) 
       from action_archive aa2 
       where . . . and 
         aa2.device_serial_number = aa.device_serial_number 
       ); 
0

아마도 ''날짜 ''에 인용문이있을 수 있습니다. 이것을 시도하십시오 :

또한 GROUP BY에 문제가있을 수 있습니다. 아마도 "배치"도 추가해야합니다.