sql多条记录获取第一条

sql多条记录获取第一条,第1张

sql多条记录取最前面一条

有表t1

数据如下:

怎么得到如下数据

如果几条数据有name相同的,就根据time来取最前面一条记录就可以了

这个问题第1个回答:

SQL code

这个问题第2个回答:

SQL code

这个问题第3个回答:

SQL code

(爱新觉罗.毓华 2007-10-23于浙江杭州)

/*

数据如下:

数据如下:

不知道你是什么数据库,如果是oracle,或者有rownum的话,那么可以用取余数的办法,比如想每隔5条取一条数据。

那么就先用rownum确定每行的号码,然后用每行的号码除以5,取余数,余数为1,2,3,4,0中你可以取任何一个,这样就等于是每个5个取一行了。

至于没有rownum的数据库,那么可能要通过id什么的来取了。

可能还有其他方式方法,不过暂时我还没有想到。

CREATE TABLE #test(

    zyh         INT,

    fjbname     varchar(10),

    jlid        INT

)

GO

INSERT INTO #test VALUES(1, 'aaaa',  1)

INSERT INTO #test VALUES(1, 'bbbb',  2)

INSERT INTO #test VALUES(2, 'vvvv',  2)

INSERT INTO #test VALUES(3, 'vvvvv', 1)

GO

SELECT

  *

FROM

  #test main

WHERE

  NOT EXISTS(

    SELECT *

    FROM #test sub

    WHERE  main.zyh = sub.zyh AND main.jlid > sub.jlid

  )

GO

zyh         fjbname    jlid

----------- ---------- -----------

          1 aaaa                 1

          2 vvvv                 2

          3 vvvvv                1

(3 行受影响)


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10858735.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存