V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
ragnaroks
V2EX  ›  问与答

诸君,请教一个 sql 的编写

  •  
  •   ragnaroks · 2015-09-25 15:14:21 +08:00 · 2118 次点击
    这是一个创建于 3374 天前的主题,其中的信息可能已经有所发展或是发生改变。

    http://i3.tietuku.com/9c7c41652569cbd5.png

    如图,如何将上面的数据库信息取成下面这种?
    统计"ua"字段的次数

    11 条回复    2015-09-25 16:08:27 +08:00
    secret32
        1
    secret32  
       2015-09-25 15:27:33 +08:00   ❤️ 1
    UID 是 ofid 吗? select *, count(*) from tablename group by ua
    dong3580
        2
    dong3580  
       2015-09-25 15:34:00 +08:00
    @secret32
    我觉得回复之前测试一下更好,
    secret32
        3
    secret32  
       2015-09-25 15:39:06 +08:00
    @dong3580 你怎么知道我没测试呢?发现了哪里有问题请直说
    TangMonk
        4
    TangMonk  
       2015-09-25 15:41:51 +08:00
    group by ua 呗
    dong3580
        5
    dong3580  
       2015-09-25 15:43:31 +08:00   ❤️ 1
    uid 什么鬼?
    仅供参考
    select advid,COUNT(1) count,ua
    from j
    where 1=1
    group by ua ,advid
    having COUNT(1)>=1
    order by count(1) desc
    ======
    result
    advid count ua
    2 3 aaaaaaaa
    2 1 bbbbbbbbbbbbb
    2 1 ccccccccccc
    ragnaroks
        6
    ragnaroks  
    OP
       2015-09-25 15:46:03 +08:00
    @secret32
    非常感谢,这就是我想要的,我是个 sql 苦手
    ragnaroks
        7
    ragnaroks  
    OP
       2015-09-25 15:46:25 +08:00
    @dong3580
    非常感谢
    dong3580
        8
    dong3580  
       2015-09-25 15:52:36 +08:00
    @secret32
    ”选择列表中的列 'j.uid' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。“
    你是 mysql ?
    secret32
        9
    secret32  
       2015-09-25 15:57:45 +08:00
    @dong3580 我确实是用的 mysql ,我的 sql 前面问了楼主 UID ,因为没有这一列,就直接写了*,主要是为了表明要使用 group by 。其他数据库我也不常用,不知道这么写会有问题,受教了。
    dong3580
        10
    dong3580  
       2015-09-25 16:06:13 +08:00
    @secret32
    试了试, mysql 里面两种写法都正常,抱歉,误解了,我是在 mssql 测的。
    feiyuanqiu
        11
    feiyuanqiu  
       2015-09-25 16:08:27 +08:00   ❤️ 1
    一楼的 SQL 是有问题的,如果表里同一个 ua 有多个 advid 数据项, group by ua 出来的结果中 advid 就不准确

    SELECT ofid AS UID, advid, COUNT(*) AS count, ua FROM table GROUP BY advid, ua ORDER BY count DESC
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2688 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 05:14 · PVG 13:14 · LAX 21:14 · JFK 00:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.