SELECT TOP 1 * FROM MessageBoardTb WHERE boardId = 1 ORDER BY lastArgueDate DESC union all
SELECT TOP 1 * FROM MessageBoardTb WHERE boardId = 10 ORDER BY lastArgueDate DESC union all
SELECT TOP 1 * FROM MessageBoardTb WHERE boardId = 2 ORDER BY lastArgueDate DESC union all
SELECT TOP 1 * FROM MessageBoardTb WHERE boardId = 4 ORDER BY lastArgueDate DESC union all
SELECT TOP 1 * FROM MessageBoardTb WHERE boardId = 5 ORDER BY lastArgueDate DESC union all
SELECT TOP 1 * FROM MessageBoardTb WHERE boardId = 6 ORDER BY lastArgueDate DESC
SELECT TOP 1 * FROM MessageBoardTb WHERE boardId = 10 ORDER BY lastArgueDate DESC union all
SELECT TOP 1 * FROM MessageBoardTb WHERE boardId = 2 ORDER BY lastArgueDate DESC union all
SELECT TOP 1 * FROM MessageBoardTb WHERE boardId = 4 ORDER BY lastArgueDate DESC union all
SELECT TOP 1 * FROM MessageBoardTb WHERE boardId = 5 ORDER BY lastArgueDate DESC union all
SELECT TOP 1 * FROM MessageBoardTb WHERE boardId = 6 ORDER BY lastArgueDate DESC
begin
SELECT TOP 1 * FROM MessageBoardTb WHERE boardId = 1 ORDER BY lastArgueDate DESC union all
SELECT TOP 1 * FROM MessageBoardTb WHERE boardId = 10 ORDER BY lastArgueDate DESC union all
SELECT TOP 1 * FROM MessageBoardTb WHERE boardId = 2 ORDER BY lastArgueDate DESC union all
SELECT TOP 1 * FROM MessageBoardTb WHERE boardId = 4 ORDER BY lastArgueDate DESC union all
SELECT TOP 1 * FROM MessageBoardTb WHERE boardId = 5 ORDER BY lastArgueDate DESC union all
SELECT TOP 1 * FROM MessageBoardTb WHERE boardId = 6 ORDER BY lastArgueDate DESC
end
as
select m.*
from MessageBoardTb m inner join (
SELECT boardid,max(lastArgueDate) as lastArgueDate
FROM MessageBoardTb WHERE boardId in (1,2,4,5,6,10)
group by boardid ) x on m.boardid=x.boardid and m.lastArgueDate=x.lastArgueDate
如果是最后才有order by ,只能将这已经取出来的6条记录重新排列