我在 SQL Server 2008 中有下表:
CREATE TABLE tbl (ID INT, dtIn DATETIME2, dtOut DATETIME2, Type INT)
INSERT tbl VALUES
(1, '05:00', '6:00', 1),
(2, '05:00', '7:00', 1),
(3, '05:01', '8:00', 1),
(4, '05:00', '8:00', 1),
(5, '05:00', '6:00', 2),
(6, '05:00', '7:00', 2)
选择相同类型的所有记录的 ID,具有相同的 dtIn 日期,按 stOut 升序排列:
SELECT DISTINCT tbl.id FROM tbl
LEFT JOIN tbl AS t1
ON tbl.type = t1.type AND
tbl.dtIn = t1.dtIn
ORDER BY tbl.dtOut ASC
但这给了我一个错误:
如果指定了 SELECT DISTINCT,则 ORDER BY 项目必须出现在选择列表中
我尝试将 ORDER BY 放在不同的地方,但这一切似乎都不起作用。我在这里做错了什么?