v2gba
V2EX  ›  问与答

请教一句 SQL 语句

  •  
  •   v2gba · Jun 3, 2015 · 3116 views
    This topic created in 4177 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
    publicID001
    Jun 3, 2015 via Android
    1
    先取出所有数据然后按tag排序?
    v2gba
    v2gba
    OP
    Jun 3, 2015
    2
    @publicID001

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

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

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

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

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