取出重复的客运车班次,两个字段的值互换视为重复值

取出重复的客运车班次

SELECT CID, FROM_CITY, TO_CITY, TICKET_PRICE
  FROM CITY
 WHERE CID IN (SELECT DISTINCT FIRST_VALUE(CCID) OVER(PARTITION BY FROM_CITY, TO_CITY ORDER BY FROM_CITY, TO_CITY)
                 FROM (SELECT A.CID          CCID,
                              A.FROM_CITY    FROM_CITY,
                              A.TO_CITY      TO_CITY,
                              A.TICKET_PRICE PRICE
                         FROM CITY A
                       UNION ALL
                       SELECT B.CID          CCID,
                              B.TO_CITY      FROM_CITY,
                              B.FROM_CITY    TO_CITY,
                              B.TICKET_PRICE PRICE
                         FROM CITY B
                        ORDER BY FROM_CITY, TO_CITY))

CREATE TABLE CITY (CID NUMBER,FROM_CITY VARCHAR2(50),TO_CITY VARCHAR2(50),ticket_price NUMBER)

INSERT INTO city (CID,FROM_CITY,TO_CITY,ticket_price)

SELECT 01,‘北京‘,‘上海‘,300 FROM dual

UNION ALL

SELECT 02,‘上海‘,‘深圳‘,280 FROM dual

UNION ALL

SELECT 03,‘武汉‘,‘广州‘,120 FROM dual

UNION ALL

SELECT 04,‘西安‘,‘成都‘,60 FROM dual

UNION ALL

SELECT 05,‘深圳‘,‘深圳‘,30 FROM dual

UNION ALL

SELECT 06,‘上海‘,‘北京‘,300 FROM dual

UNION ALL

SELECT 07,‘广州‘,‘武汉‘,120 FROM dual

UNION ALL

SELECT 08,‘深圳‘,‘上海‘,280 FROM dual

UNION ALL

SELECT 09,‘成都‘,‘重庆‘,60 FROM dual

COMMIT;

时间: 2024-10-07 14:48:11

取出重复的客运车班次,两个字段的值互换视为重复值的相关文章

C# 两个List泛型用 Linq去重复数据 或者 得到重复数据

1, 两个List泛型用Linq去重复数据 Code: List<string> lstA = new List<string> { "E00401501B652563", "E00401501B652564", "E00401501B652565", "E00401501B652566", "E00401501B652567", "E00401501B652568&quo

程序员面试100题之十:快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值(转)

能否快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值,为了简化起见,我们假设这个数组中肯定存在至少一组符合要求的解. 假如有如下的两个数组,如图所示: 5,6,1,4,7,9,8 给定Sum= 10 1,5,6,7,8,9 给定Sum= 10 分析与解法 这个题目不是很难,也很容易理解.但是要得出高效率的解法,还是需要一番思考的. 解法一 一个直接的解法就是穷举:从数组中任意取出两个数字,计算两者之和是否为给定的数字. 显然其时间复杂度为N(N-1)/2即O(N^2).这个算法很简

SQL按字段分组取最大(小)值记录(重复记录)

SQL Server 按某一字段分组 取 最大 (小)值所在行的数据 -- 按某一字段分组 取 最大 (小)值所在行的数据 -- (爱新觉罗.毓华(十八年风雨,守得冰山雪莲花开) 2007-10-23于浙江杭州) /* 数据如下: name val memo a    2   a2(a的第二个值) a    1   a1--a的第一个值 a    3   a3:a的第三个值 b    1   b1--b的第一个值 b    3   b3:b的第三个值 b    2   b2b2b2b2 b   

不同数据库中两列字段相减(某列有空值)

数据库中两个字段相减(某列有空值)处理方法: sql server中:select (isnull(字段1,0)-isnull(字段2,0)) as 结果 from 表 oracle中:select (nvl(字段1,0)-nvl(字段2,0)) as 结果 from 表 mysql中:select (ifnull(字段1,0)=ifnull(字段2,0)) as 结果 from 表 不同数据库中两列字段相减(某列有空值),码迷,mamicode.com

hive-group by的时候把两个字段变成map

源表结构: pcgid               string mobilegid           string value               double 测试数据如下: p1 m1 0.6p1 m2 0.9p2 m1 1.0 需要的结果是: p1 {"m2":"0.9","m1":"0.6"} 2 p2 {"m1":"1.0"} 1 就是对源表进行group by之后

使用sed和awk取除最后两个字段之外的字段

字符串示例为: /Users/yfan/Downloads/dsc20170801_jar/releases/com/netfinworks/ufs/ufs-client/ufs-client-2.0.0.jar 需求:如果使用斜杠/作为分隔符的话,可能每个字符串的字段数不同,这时需要取 除了最后两个字段外的其他字段字符串,所得结果应为如下形式: /Users/yfan/Downloads/dsc20170801_jar/releases/com/netfinworks/ufs/ufs-clie

动态集合中两个最接近的数的差值

题目: 思考: 既然是动态集合,那么我们需要用链表来存储数据方便插入和删除.于是我们可以选用二叉链表,也就是红黑树来存储数据,红黑树由于比较平衡,所以可以得到比较好的查询时间.但是我们并不是直接拿红黑树就可以用了,因为基本的红黑树没有MIN_GAP操作,所以需要自己修改和维护原始的红黑树. 如何给红黑树添加MIN_GAP操作呢?我们需要先给红黑树结构中加入MAX,MIN指针.这个操作可以参考最坏时间为O(1)的求最大小值,当然只取了里面部分新增代码.既然新指针已经添加好了,那么我们以原有红黑树插

thinkphp 视图模型 两个字段映射同一个表

thinkphp 视图模型 是挺好用的. 这里有一种情况,例如一个文章表,有一个字段是add_admin_id, 用于记录添加者的id,还有一个字段edit_admin_id, 用于记录最后编辑者的id, 需要用视图模型通过admin_id来查询出真实姓名.这种清空是同一个表的两个字段分别又对应着同一个表.视图可以如下 class Red_userViewModel extends ViewModel{ Protected $viewFields = array( 'red_user' => a

sql server中如何将两个字段数据合并成一个字段显示(字段与字段添加特殊符号)

之前,我在做统计数据时,需要一个字段显示某月的订单数量和订单金额,要求组合成一个字段,用括号组合. 统计出来的结果大概是这样的,首先我们来创建一些模拟数据 ---创建订单表--- create table OmsOrder( Uid int identity(1,1) primary key, OrganizeName varchar(20) not null, OrderCount int not null, OrderMoney float not null ) --添加模拟数据--- in