【发布时间】:2016-03-04 17:17:51
【问题描述】:
我有以下疑问:
SELECT shipments.file_number, file_creation_date, city_name, container_sequence
FROM cities, countries, shipments
LEFT OUTER JOIN container_details ON shipments.file_number = container_details.file_number
WHERE
destination_ocean_port = city_code
AND cities.country_code = countries.country_code
AND cities.country_code = 'CN'
AND file_creation_date > '2015-1-1'
AND file_creation_date < '2016-1-1'
ORDER BY shipments.file_number;
它会像这样返回:
正如您所见,在某些情况下,每个 file_number 有多个 container_sequence。我怎样才能得到它,所以它只返回每个 file_number 之一,同时显示每个 file_number 有多少个 container_sequences 的计数?
我知道它可能与 joins 和 count() 有关,但我无法弄清楚。
谢谢
【问题讨论】:
-
试试 distinct(shipments.file_number),不知道是不是你想要的
-
简单规则:从不在
FROM子句中使用逗号。 始终使用明确的JOIN语法。 -
那有什么帮助呢?