以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 关于SQL语句的请教 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=121556) |
-- 作者:ap9709130 -- 发布时间:2018/7/9 14:28:00 -- 关于SQL语句的请教 老师, 我的表结构如下: 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 -- 发布时间:2018/7/9 14:49:00 -- 交叉汇总可以解决啊. |
-- 作者:ap9709130 -- 发布时间:2018/7/9 15:50:00 -- 我想要的是SQL语句.多谢! |
-- 作者:有点甜 -- 发布时间: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 -- 发布时间:2018/7/9 16:31:00 -- 有点甜老师 我看了例子,和我的不一样. 我要是求出想要的数据的第二大的日期,和例子不是一回事,例子我基本看懂了.能帮我写一下吗? 多谢!
|
-- 作者:有点甜 -- 发布时间:2018/7/9 17:08:00 -- 如果是sqlserver数据库,参考
https://www.cnblogs.com/0201zcr/p/4820706.html
|
-- 作者:ap9709130 -- 发布时间:2018/7/12 16:04:00 -- 老师 研究了你发给我的资料,还是没能做出来.能帮我上面那个例子,写一下吗?多谢!
|
-- 作者:ap9709130 -- 发布时间:2018/7/12 16:05:00 -- 这个和我的列子还是有区别的.多谢! [此贴子已经被作者于2018/7/12 16:05:48编辑过]
|
-- 作者:有点甜 -- 发布时间: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 -- 发布时间:2018/7/12 18:37:00 -- 多谢甜老师.我终于搞懂了! |