博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
SQL语句之 SOS定位救师徒
阅读量:5092 次
发布时间:2019-06-13

本文共 4104 字,大约阅读时间需要 13 分钟。

1.需求:  话说  唐僧师徒四人,正过大雪山,  唐僧饿了,吩咐悟空去弄斋饭,悟空一个筋斗云飞开了。

                   突然,大风呼啸,雷鸣闪电,八戒和唐僧在慌乱中被雪山老妖抓走。
                  沙和尚到处寻找师徒下落无果。无奈之下,去找菩萨。
                   先前唐僧和八戒受菩萨所托,都带了一个SOS定位手表。
                  不管在那里,只要发送SOS信号,就可以把当前的经纬度发送给菩萨。
                  这雪山老妖势力范围大,方圆几百里都是他的妖洞,还真有点能耐,  唐僧和八戒 被这个洞卷到那个洞,
                  匆匆忙忙的,唐僧和八戒在每个妖洞里,都发送了SOS求救信息。
                  弄得 菩萨都不知 唐僧的下落,。    现在要你用SQL语句把最新的SOS记录给菩萨看。
                  每人只需要显示最新的一条SOS信息。

 

--  SOS求救信息,放在一个叫SOSInfo的表里面。CREATE TABLE SOSInfo( LoginID  VARCHAR(30) NOT NULL,  --用户id 目前规定在6-16个字符之间PosTime     VARCHAR(48) NOT NULL, --采集时间:YYYY-MM-DD HH24:MI:SSLatitude  VARCHAR(30) ,  --纬度       Longitude  VARCHAR(30) ,          --经度 SOSPhone        VARCHAR(16) , --sos求救号码IsCheck         INTEGER, --是否已经查看PRIMARY KEY  (LoginID,PosTime)); --插入几条SOS求救信息 insert into SOSInfo([LoginID],[PosTime],[Latitude],[Longitude],[SOSPhone],[IsCheck]) values('沙和尚','2013-04-17 12:11:33','23.2352635','30.2356855','15689584587',0)insert into SOSInfo([LoginID],[PosTime],[Latitude],[Longitude],[SOSPhone],[IsCheck]) values('孙悟空','2013-04-17 11:11:33','23.2352635','30.2356855','15689584587',0)insert into SOSInfo([LoginID],[PosTime],[Latitude],[Longitude],[SOSPhone],[IsCheck]) values('猪八戒','2013-04-17 10:11:33','23.2352635','30.2356855','15689584587',0)insert into SOSInfo([LoginID],[PosTime],[Latitude],[Longitude],[SOSPhone],[IsCheck]) values('猪八戒','2013-04-19 13:11:33','23.2352635','30.2356855','15689584587',0)insert into SOSInfo([LoginID],[PosTime],[Latitude],[Longitude],[SOSPhone],[IsCheck]) values('沙和尚','2013-04-17 14:11:33','23.2352635','30.2356855','13689584587',0)insert into SOSInfo([LoginID],[PosTime],[Latitude],[Longitude],[SOSPhone],[IsCheck]) values('唐僧','2013-04-17 19:11:33','29.2352635','30.2356855','15789584587',0)insert into SOSInfo([LoginID],[PosTime],[Latitude],[Longitude],[SOSPhone],[IsCheck]) values('唐僧','2013-04-17 11:11:33','26.2352635','30.2356855','15789584587',0)insert into SOSInfo([LoginID],[PosTime],[Latitude],[Longitude],[SOSPhone],[IsCheck]) values('唐僧','2013-04-17 18:11:33','24.2352635','30.2356855','15789584587',0)--很显然,唐僧和猪八戒 耐不住 寂寞  发 SOS 求救了,但是  被妖怪这个洞搬到那个洞,  经纬度经常改变,让没筋斗云功夫的  沙和尚 很苦恼。--因为数据要最后一起返回一个DataTable,而不是一个DataSet,所以我们打算用一个表变量declare @Users table([LoginID] [varchar](30) NOT NULL,                                        [PosTime] [varchar](48) NOT NULL,                                    [Latitude] [varchar](30) NULL,                          [Longitude] [varchar](30) NULL,                          [SOSPhone] [varchar](16) NULL,                          [IsCheck] [int] NULL)                          declare @name varchar(50)                         declare cursor1 cursor for                               select distinct LoginID from SOSInfo                                      open cursor1                       --打开游标                          fetch next from cursor1 into @name  --将游标向下移1行,获取的数据放入之前定义的变量@name中                          while @@fetch_status=0                               begin            ---插入到表变量                         insert into @Users  ([LoginID], [PosTime],[Latitude],                            [Longitude],                            [SOSPhone],                            [IsCheck])                           select top 1 [LoginID],                                  [PosTime],                                  [Latitude],                                  [Longitude],                                  [SOSPhone],                                  [IsCheck]                             from SOSInfo                            where LoginID = @name                            order by PosTime desc                         fetch next from cursor1 into @name  --将游标向下移1行                         end                -----把所有最新的SOS选择出来                         select [LoginID],                                [PosTime],                                [Latitude],                                [Longitude],                                [SOSPhone],                                [IsCheck]                           from @Users                         close cursor1                   --关闭游标                         deallocate cursor1

菩萨用这个SQL查询到了师徒下落

 

转载于:https://www.cnblogs.com/HCCZX/archive/2013/04/17/3026305.html

你可能感兴趣的文章
ActionScript3文本框字体调整一法
查看>>
福大软工1816 · 第一次作业 - 准备
查看>>
springboot在eclipse实现热部署
查看>>
关于Cocos2d-x中实例伸缩后的位置设置
查看>>
Automated Cross-Region Snapshot Copy for Amazon Redshift
查看>>
Python学习(二十) —— 前端之CSS
查看>>
网络连接问题
查看>>
MarkDown语法测试
查看>>
允许局域网内其他主机访问本地MySql数据库
查看>>
树——二叉树的深层特性
查看>>
同步&异步-阻塞&非阻塞
查看>>
关于C++的字符串操作
查看>>
剑指offer-二叉树
查看>>
leecode第二百九十二题(Nim游戏)
查看>>
【BZOJ 2957】 2957: 楼房重建 (线段树)
查看>>
Hdoj 1064 Financial Management
查看>>
win7 下安装ubuntu14.04 本人实测撰写
查看>>
django迁移数据库错误
查看>>
epoll学习01
查看>>
java基础-排序
查看>>