2016-09-07 111 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

爲什麼你使用'group 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

也許問題是「'date'」中的引號。試試這個:

SELECT deployment, 
    device_serial_number 
FROM action_archive 
WHERE (.....) 
GROUP BY device_serial_number 
ORDER BY date 

另外,我覺得你可能有問題與GROUP BY,也許你應該添加「部署」也有。

相關問題