首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

这个SQL如何写

2012-03-26 
这个SQL怎么写?QDZDSJ-------- -------------------- --------------------田林桂林8:00田林桂林9:00桂林

这个SQL怎么写?
QD ZD SJ
-------- -------------------- --------------------
田林 桂林 8:00
田林 桂林 9:00
桂林 田林 8:00
桂林 田林 8:00
田林 宜山 8:00
宜山 田林 8:00

6 rows selected
统计这个表里面 的线路条数 
起点和终点 一致的算一条
现在结果是两条

[解决办法]
select count(*) from 表名 group by QD,ZD

[解决办法]
select count(*) from (select qd,zd from tb group by qd,zd having count(*) > 1) t
[解决办法]
select count(distinct(case when QD > ZD then QD||ZD else ZD||QD end) )
from table
[解决办法]
已經建表測試過的SQL:

SQL code
select count(*)/2 from (select distinct QD,ZD from tbl_luxianunion select distinct ZD,QD from tbl_luxian) a
[解决办法]
探讨
已經建表測試過的SQL:

SQL code


select count(*)/2 from (
select distinct QD,ZD from tbl_luxian
union
select distinct ZD,QD from tbl_luxian
) a



功能雖實現,效率可能不太好~ 期待高手

[解决办法]
经测试可行:
select count(*) from (select rank() over(partition by QD,ZD
 order by id) rank from 表名) n where n.rank = '2'

order by 后面 跟其他不会重复的字段。这样就是起点和终点一致的数据有n条也算作1条

热点排行