Foxtable(狐表)用户栏目专家坐堂 → 查询唯一值


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

主题:查询唯一值

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


加好友 发短信
等级:三尾狐 帖子:776 积分:6205 威望:0 精华:0 注册:2012/6/11 17:21:00
查询唯一值  发帖心情 Post By:2018/3/13 8:27:00 [只看该作者]

S elect top 1 学生编号,学生姓名 From {缴退费信息} GROUP BY 学生编号,学生姓名 ORDER BY 缴费日期 DESC
这样只能查询一个学生,查询所有学生最后一次缴费记录,请老师指教,谢谢
[此贴子已经被作者于2018/3/13 11:37:34编辑过]

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


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

如果是sqlserver数据库,可以用 row_number 函数,参考

 

http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=113873&skin=0

 


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


加好友 发短信
等级:三尾狐 帖子:776 积分:6205 威望:0 精华:0 注册:2012/6/11 17:21:00
  发帖心情 Post By:2018/3/19 10:17:00 [只看该作者]

老师我是Access数据库

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


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

以下是引用良才在2018/3/19 10:17:00的发言:
老师我是Access数据库

 

同样,可以参考 http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=113873&skin=0

 


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


加好友 发短信
等级:三尾狐 帖子:776 积分:6205 威望:0 精华:0 注册:2012/6/11 17:21:00
  发帖心情 Post By:2018/3/19 11:04:00 [只看该作者]

是这样吧!
S elect  Max(缴费日期) As 缴费日期,学生编号 From {学生缴费}  GROUP BY 学生编号

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


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

如果要获取整条记录,参考做法

 

https://www.cnblogs.com/netserver/p/4518995.html

 

https://www.cnblogs.com/isun/archive/2012/12/22/2829528.html

 

[此贴子已经被作者于2018/3/19 11:18:31编辑过]

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


加好友 发短信
等级:三尾狐 帖子:776 积分:6205 威望:0 精华:0 注册:2012/6/11 17:21:00
  发帖心情 Post By:2018/3/19 15:02:00 [只看该作者]

s elect a.* from (S elect 学生编号,学期,Count(学生编号) as 数量 from {缴退费信息} group by 学生编号,学期) as a where 1 > (s elect count(*) from (S elect 学生编号,学期,Count(学生编号) as 数量 from {缴退费信息} group by 学生编号,学期) as b where b.学生编号 = a.学生编号 and b.数量 > a.数量 ) order by a.学生编号, a.数量
这样太慢

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


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

改成这样

 

select * from {缴退费信息} as a inner join (Select 学生编号, max(缴费日期) As 最后日期 From {缴退费信息} GROUP BY 学生编号) as b on a.学生编号=b.学生编号 and a.缴费日期=b.最后日期


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


加好友 发短信
等级:三尾狐 帖子:776 积分:6205 威望:0 精华:0 注册:2012/6/11 17:21:00
  发帖心情 Post By:2018/3/19 15:21:00 [只看该作者]

s elect a.* from {缴退费信息} a,(s elect 学生编号,max(缴费日期) As 缴费日期 from {缴退费信息} group by 学生编号) b where a.学生编号 = b.学生编号 and a.缴费日期 = b.缴费日期 order by a.学生编号

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


加好友 发短信
等级:三尾狐 帖子:776 积分:6205 威望:0 精华:0 注册:2012/6/11 17:21:00
  发帖心情 Post By:2018/3/19 15:22:00 [只看该作者]

谢谢,老师

 回到顶部