我试图从一个非统一的表中选择唯一的值,并且只显示唯一的值。
SELECT DISTINCT "year" as sorter, year(data) as year, NULL as location
FROM site
WHERE tipo='projects'
UNION
SELECT DISTINCT "loc" as sorter, NULL as year, spare_1 as location
FROM site
WHERE tipo='projects'
ORDER BY sorter ASC, year DESC, localition ASC
这会回来的
+--------+------+----------+
| SORTER | YEAR | LOCATION |
+--------+------+----------+
| year | 2010 | NULL |
+--------------------------+
| year | 2009 | NULL |
+--------------------------+
| year | 2008 | NULL |
+--------------------------+
| loc | NULL | London |
+--------------------------+
| loc | NULL | Paris |
+--------------------------+
| loc | NULL | NYC |
+--------------------------+
我真的不喜欢双选。有没有比这更有效的方法?
先谢谢你。