【发布时间】:2017-09-24 12:43:08
【问题描述】:
我在将 SELECT DISTINCT() 与 ORDER BY... 结合使用时遇到问题... 这是我的 SQL:
SELECT DISTINCT(t2)
FROM Table1 t1
JOIN Table2 t2 ON t1.t2 = t2.id
JOIN Table3 t3 ON t1.t3 = t3.id
JOIN Table4 t4 ON t2.t4 = t4.id
JOIN Table5 t5 ON t2.t5 = t5.id
JOIN Table6 t6 ON t2.t6 = t6.id
ORDER BY t4.date DESC
但这是错误的......你有什么想法吗?
提前致谢! =)
【问题讨论】:
-
怎么了?你在期待什么? t2 在哪个表?使用与列名匹配的表别名是个坏主意。
-
DISTINCT是关键字,而不是函数。它适用于整个 SELECT 列表。 (t2周围的括号是多余的)。t4.date的值在 ORDER BY 子句中不可用,因为它不包含在 SELECT DISTINCT 列表中。使用 GROUP BY 子句而不是 DISTINCT。
标签: mysql sql database select sql-order-by