Foxtable(狐表)用户栏目专家坐堂 → 关于SQL语句的请教


  共有1706人关注过本帖树形打印复制链接

主题:关于SQL语句的请教

帅哥哟,离线,有人找我吗?
ap9709130
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
关于SQL语句的请教  发帖心情 Post By:2018/7/9 14:28:00 [只看该作者]

老师,
我的表结构如下:

CID     日期            姓名
123     1/1/2017     张三
123     1/10/2017   李四
123     2/1/2017     王五
123     5/1/2017     张三

我想得到的结果是:    CID         日期1             日期2
                           123      5/1/2017      2/1/2017

要怎么样写SQL 语句才能得到这个结果?

我目前的水平这样写,可以得到三个, S elect CID,Max(日期) as 日期1 from {表 } where 姓名 = '张三' Group By CID .可是 怎么才能得到日期2 ? 多谢!

 回到顶部
帅哥哟,离线,有人找我吗?
fox-man
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:250 积分:2731 威望:0 精华:0 注册:2014/3/11 12:11:00
  发帖心情 Post By:2018/7/9 14:49:00 [只看该作者]

交叉汇总可以解决啊.

 回到顶部
帅哥哟,离线,有人找我吗?
ap9709130
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2018/7/9 15:50:00 [只看该作者]

我想要的是SQL语句.多谢!

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/9 16:18:00 [只看该作者]

必须使用代码合成sql语句,无法直接写sql语句得到的

 

http://www.foxtable.com/webhelp/scr/2965.htm

 

类似交叉统计的代码

 

http://www.foxtable.com/webhelp/scr/0165.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
ap9709130
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2018/7/9 16:31:00 [只看该作者]

有点甜老师

我看了例子,和我的不一样. 我要是求出想要的数据的第二大的日期,和例子不是一回事,例子我基本看懂了.能帮我写一下吗? 多谢!

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/9 17:08:00 [只看该作者]

如果是sqlserver数据库,参考

 

https://www.cnblogs.com/0201zcr/p/4820706.html

 


 回到顶部
帅哥哟,离线,有人找我吗?
ap9709130
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2018/7/12 16:04:00 [只看该作者]

老师

研究了你发给我的资料,还是没能做出来.能帮我上面那个例子,写一下吗?多谢!

 回到顶部
帅哥哟,离线,有人找我吗?
ap9709130
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2018/7/12 16:05:00 [只看该作者]

这个和我的列子还是有区别的.多谢!
[此贴子已经被作者于2018/7/12 16:05:48编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/7/12 16:48:00 [只看该作者]

获取第二大的日期

 

select 第一列, MAX(第五列) from {表A} where 第五列 < (select MAX(第五列) from {表A} ) group by 第一列

 

第一、第二的日期,一起,这样写

 

select 第一列, 日期1, (select max(第五列) from {表A} as b where a.第一列=b.第一列 and 第五列<a.日期1) as 日期2 from (select 第一列,max(第五列) as 日期1 from {表A} group by 第一列) as a

 

认认真真看懂 https://www.cnblogs.com/0201zcr/p/4820706.html

 


 回到顶部
帅哥哟,离线,有人找我吗?
ap9709130
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2018/7/12 18:37:00 [只看该作者]

多谢甜老师.我终于搞懂了!

 回到顶部