前端问个 sql,进来打救一下。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
coolicer
V2EX    程序员

前端问个 sql,进来打救一下。

  •  
  •   coolicer 2014-03-08 17:24:28 +08:00 4205 次点击
    这是一个创建于 4270 天前的主题,其中的信息可能已经有所发展或是发生改变。
    要用sql统计一台机器的情况,现在sql查出一堆数据:

    xxx 10086 xx xx xxx xx
    xxx 10086 xx xx xxx xx
    xxx 10086 xx xx xxx xx
    xxx 10086 xx xx xxx xx
    xxx 10086 xx xx xxx xx
    xxx 10086 xx xx xxx xx
    xxx 10086 xx xx xxx xx

    xxx 10086 xx xx xxx xx
    xxx 10086 xx xx xxx xx
    xxx 10086 xx xx xxx xx
    xxx 10086 xx xx xxx xx
    xxx 10086 xx xx xxx xx
    xxx 10086 xx xx xxx xx
    xxx 10086 xx xx xxx xx

    xxx 10087 xx xx xxx xx
    xxx 10087 xx xx xxx xx
    xxx 10087 xx xx xxx xx
    xxx 10087 xx xx xxx xx
    xxx 10087 xx xx xxx xx
    xxx 10087 xx xx xxx xx
    xxx 10087 xx xx xxx xx

    我现在怎么根据 10086和10087这些信息分页。10086代表查出这台10086机器的所有信息,没怎么用sql,前端你懂的。现在硬头皮上。

    *现在是用order by排序后所呈现的,我想按这个id把信息分好,然后我再做统计。
    19 条回复    1970-01-01 08:00:00 +08:00
    jsonline
        1
    jsonline  
       2014-03-08 17:26:30 +08:00 via Android
    不要摸黑前端
    coolicer
        2
    coolicer  
    OP
       2014-03-08 17:27:51 +08:00
    @jsonline = =,好吧,我比较菜
    judasnow
        3
    judasnow  
       2014-03-08 17:32:56 +08:00
    select * from `your table name` where `10086那一列的属性名` = '10086[7]' limit 0, 10(页数)
    coolicer
        4
    coolicer  
    OP
       2014-03-08 17:36:07 +08:00
    @judasnow 上面的那些是我联2个表查出来的,不是直接表里的数据。
    zzNucker
        5
    zzNucker  
       2014-03-08 17:42:58 +08:00
    一样的啊,union出来的结果也可以limit的。
    coolicer
        6
    coolicer  
    OP
       2014-03-08 17:52:31 +08:00
    你们看清楚问题,上面的结果是2张表中查出来的。

    我现在的问题是,比如10086有20条,10087只有10条。我每页只显示一个机器,我怎么根据10086,10087分页。

    我很有诚意,不要骂我。
    kingme
        7
    kingme  
       2014-03-08 17:54:27 +08:00
    才刚刚接触SQL,有心无力
    coolicer
        8
    coolicer  
    OP
       2014-03-08 17:55:30 +08:00
    @kingme 我也差不多。读书时只学过点语法,现在就要实干。
    jsonline
        9
    jsonline  
       2014-03-08 18:09:56 +08:00 via Android
    把group 和 orderby 结合
    jsonline
        10
    jsonline  
       2014-03-08 18:11:22 +08:00 via Android
    其实没看懂你的需求是什么,你举个栗子吧
    zzNucker
        11
    zzNucker  
       2014-03-08 18:12:02 +08:00
    说实话我觉得你真的没表达清楚意思,你数据都取出来了,要怎么分页不是你前端的事情吗。。。 或者说你要的是把10086和10087的数据分开来,那你后端用关联数组分一下不就行了?
    jsonline
        12
    jsonline  
       2014-03-08 18:14:52 +08:00 via Android
    @zzNucker 同感。
    run2
        13
    run2  
       2014-03-08 19:10:55 +08:00
    就是数据源里有10087,你前端不会用js把10087分页?
    jimmyrui
        14
    jimmyrui  
       2014-03-08 21:59:48 +08:00
    小白路过。。。
    select x 1 ,‘ ’ 2 from xxx where x<10086
    union all
    select '' 1,x 2 from xxx where x>10087
    jimmyrui
        15
    jimmyrui  
       2014-03-08 22:20:14 +08:00
    貌似不对,小白在路过
    select a.a,b.b
    from
    (select x a,' ' b from xxx where x<10086) a,
    (select ' ' a,x b from xxx where x>10087) b
    zhenglee
        16
    zhenglee  
       2014-03-08 23:00:42 +08:00 via iPhone
    先说表结构 再说需求
    mcfog
        17
    mcfog  
       2014-03-09 17:00:46 +08:00
    线上有写入的db上直接联表查询是很危险的

    如果是统计需求的话,最好是定时有脚本吧数据dump到另外的db机器,那么这个dump的过程可以把数据按照统计的要求处理好。

    回到问题,联表无论是join还是别的什么方式都是可以加条件的,手册里很容易找到,时髦一点的还可以用视图之类的机制
    niseter
        18
    niseter  
       2014-03-09 21:56:20 +08:00
    @coolicer 那就之前建一个表 ,CREATE table tmp as SELECT........,然后拿创建出来的tmp表分页就容易多了,
    dong3580
        19
    dong3580  
       2014-03-10 14:21:07 +08:00
    把group 和 orderby 结合 懒得给你写了,w3school怎么样,看看吧.
    最好不要联合查询,
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2387 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 04:38 PVG 12:38 LAX 20:38 JFK 23:38
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86