【发布时间】:2014-07-02 11:59:21
【问题描述】:
我只想查看列“Stadt”(=City)不等于“Hauptstadt”(=Capital)的行。 我的桌子看起来像:
+----------------------+-------------------+--------------------------+---------------+
| Name | Stadt | Land | Hauptstadt |
+----------------------+-------------------+--------------------------+---------------+
| Kunstmuseum | Bern | Schweiz | Bern |
| Musée Picasso | Paris | Frankreich | Paris |
| Museum Ludwig | Köln | Deutschland | Berlin |
| Museum of Modern Art | New York | United States of America | Washington DC |
| Städel | Frankfurt am Main | Deutschland | Berlin |
+----------------------+-------------------+--------------------------+---------------+
我只想看看(想要的输出):
+----------------------+-------------------+--------------------------+---------------+
| Name | Stadt | Land | Hauptstadt |
+----------------------+-------------------+--------------------------+---------------+
| Museum Ludwig | Köln | Deutschland | Berlin |
| Museum of Modern Art | New York | United States of America | Washington DC |
| Städel | Frankfurt am Main | Deutschland | Berlin |
+----------------------+-------------------+--------------------------+---------------+
我试过这个:
SELECT DISTINCT Name, Stadt, Land ,Hauptstadt
FROM Museum
GROUP BY 'Name', 'Stadt', 'Land', 'Hauptstadt'
ORDER BY Name;
输出:
+----------------------+----------+--------------------------+---------------+
| Name | Stadt | Land | Hauptstadt |
+----------------------+----------+--------------------------+---------------+
| Museum of Modern Art | New York | United States of America | Washington DC |
+----------------------+----------+--------------------------+---------------+
我的 SELECT 应该如何获得我想要的输出?
感谢您的帮助!
【问题讨论】:
-
为什么需要
DISTINCT?你的要求听起来像Stadt <> Hauptstadt... -
让您了解未来; DISTINCT 是一个函数,所以如果你使用它,语法应该是 DISTINCT(some_col)。根据您的标准,您应该在下面接受 Gordon 的回答。
-
DISTINCT是不是函数,根据specification 没有括号:SELECT [ALL | DISTINCT | DISTINCTROW ]...。您可以使用括号,但DISTINCT仍会影响所有选定的列,因此会造成混淆。
标签: mysql sql group-by sql-order-by distinct