v2gba
V2EX  ›  问与答

请教一句 SQL 语句

  •  
  •   v2gba · Jun 3, 2015 · 2802 views
    This topic created in 4014 days ago, the information mentioned may be changed or developed.
    我想要得到按tag分类的查询结果, 但是tag有哪些我并不知道

    我的想法是

    先查询所有的tag, 然后循环用tag为条件查询

    因为还没学过数据库, 不太清楚是否有比较好的办法能一次性搞定?

    期望的返回结果:
    tag1: data1, data2, data3
    tag2: data1, data2, data3...
    可以数组套数组 或者字典里key为tag, value为数组
    不知道我表达清楚意思了没
    15 replies    2015-06-03 17:11:33 +08:00
    publicID001
        1
    publicID001  
       Jun 3, 2015 via Android
    先取出所有数据然后按tag排序?
    v2gba
        2
    v2gba  
    OP
       Jun 3, 2015
    @publicID001

    这个办法应该比我的好, 起码对数据库的压力小.

    我最理想的还是能够直接按我说的那样把结果取出来(但我不确定是否能这样,所以来这里问问)
    ALeo
        3
    ALeo  
       Jun 3, 2015
    那样不是会出现1+ N 的问题。。。?
    v2gba
        4
    v2gba  
    OP
       Jun 3, 2015
    @ALeo 每个数据就只有一个tag...
    hahasong
        5
    hahasong  
       Jun 3, 2015
    自行用代码搞定,不要什么都扔给数据库。给个通常的思路,先一次查出所有数据,然后用代码做循环,重新按TAG组织一下数据
    RIcter
        6
    RIcter  
       Jun 3, 2015   ❤️ 1
    select key3,group_concat(key_one) from test group by key3;

    v2gba
        7
    v2gba  
    OP
       Jun 3, 2015
    @RIcter 菊苣么么哒 就是这种! 可惜看不出背景图是啥
    RIcter
        8
    RIcter  
       Jun 3, 2015
    @MrGba2z P站ID:46814187
    v2gba
        9
    v2gba  
    OP
       Jun 3, 2015
    @RIcter
    我又试了下不太对..
    同样的tag数据只有一条出来
    比如
    name / tag
    a 1
    b 2
    c 3
    d 2
    只会返回3条

    我想要的是
    [[(a,1)], [(b,2), (d, 2)], [(c,3)]]
    这样的
    不知可行不?
    RIcter
        10
    RIcter  
       Jun 3, 2015
    @MrGba2z MySQL 做不到这样吧..不符合范式了..=A=
    RIcter
        11
    RIcter  
       Jun 3, 2015
    你可以用 mongodb ww
    angeloce
        12
    angeloce  
       Jun 3, 2015
    其实, 按tag排序就是你要的
    v2gba
        13
    v2gba  
    OP
       Jun 3, 2015
    @RIcter
    了解了 只能代码里处理了

    @angeloce
    我还想让他们按tag自动分组,
    目前看来只能按tag排序输出,然后手动分组了
    immjun
        14
    immjun  
       Jun 3, 2015
    @RIcter 看到你用 MariaDB 做例子刚想问和 PostgreSQL 对比用哪个好 然后点进博看看到 Hacking PostgreSQL 吓了我一跳...
    RIcter
        15
    RIcter  
       Jun 3, 2015 via iPhone
    @immjun 其實我不會postgresql(
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2876 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 08:58 · PVG 16:58 · LAX 01:58 · JFK 04:58
    ♥ Do have faith in what you're doing.