从具有7列的sql表中选择3列的唯一值

时间:2019-01-08 12:55:34

标签: javascript mysql node.js

这是我的桌子的样子。

我想获得始发地,目的地和航班日期的唯一“集合”。

因此,对于所示的表,我的查询应返回{['BLR','DEL','2019-01-10'],['BLR','DEL','2019-01-11'] }

1 个答案:

答案 0 :(得分:1)

在MySQL中,这应该可以解决问题:

SELECT DISTINCT origin, destination, flight_date FROM flights

或者:

SELECT origin, destination, flight_date 
FROM flights
GROUP BY origin, destination, flight_date

DISTINCT的基本意思是“确保行是唯一的”,而使用GROUP BY的好处是,您可以使用聚合函数(求和,求平均值等)。您也可以使用HAVING添加其他条件。

示例:

SELECT origin, destination, flight_date, SUM(time_bucket) AS time_bucket_total
FROM flights
GROUP BY origin, destination, flight_date
HAVING SUM(time_bucket) > 3

这将返回每一行的time_bucket总和,并且仅返回总和大于3的那些条目。