【发布时间】:2017-08-08 09:44:14
【问题描述】:
我被困在http://www.sql-ex.ru/learn_exercises.php#answer_ref 的练习 68 上。
数据库由这四个表组成:
- 公司(ID_comp,名称)
- Trip(trip_no, id_comp, plane, town_from, town_to, time_out, time_in)
- 乘客(ID_psg,姓名)
- Pass_in_trip(trip_no, date, ID_psg, place)
练习的目的是: 找出航班(旅行)数量最多的路线数量。 笔记。
- A - B 和 B - A 将被视为相同的路线。
- 仅使用 Trip 表。
我可以得到“找出具有最多航班(旅行)数量的路线数量”的正确答案,但在考虑注释 1 时不能得到正确答案:A - B 和 B - A 将被视为 SAME 路线。
我不知道如何获得唯一对: 如果我们有输出:
| town_from | town_to | count |
| --------- | --------- | ----- |
| London | Singapore | 4 |
| Singapore | London | 4 |
我如何选择以便它只给我
| town_from | town_to | count |
| --------- | --------- | ----- |
| London | Singapore | 4 |
我能够通过以下查询完成问题:
与 x AS( SELECT con, sum(c) as s FROM( SELECT town_from, town_to, 'con' = CASE WHEN lower(town_from)
从 x 中选择计数 (*) WHERE s = (SELECT max(s) FROM x)
【问题讨论】:
-
您使用的是什么数据库? MySQL 还是 SQL Server?请正确标记。
-
请发布产生您当前输出的尝试查询。