Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL:如何计算有多少用户从两个不同的表中获得了超过500个图像_Sql_Join_Mariadb - Fatal编程技术网

SQL:如何计算有多少用户从两个不同的表中获得了超过500个图像

SQL:如何计算有多少用户从两个不同的表中获得了超过500个图像,sql,join,mariadb,Sql,Join,Mariadb,我对SQL很陌生。我正在尝试进行一个简单的连接查询 为此,我有两张桌子: 第一个表相册,列名为相册id,用户id*和相册img\u计数(相册img\u计数-列显示相册中有多少图像) 第二个表是用户,列名称为用户id* *user\u id对于两个表都是相同的(albums.user\u id=users.user\u id) 我想统计一下总共有多少用户获得了超过500张图像 棘手的部分-用户可以有一个带有600个图像的相册,或者700个带有一个图像的相册。这两种方法都适用于我们的查询。因此,

我对SQL很陌生。我正在尝试进行一个简单的连接查询

为此,我有两张桌子:

  • 第一个表
    相册
    ,列名为
    相册id
    用户id
    *和
    相册img\u计数
    相册img\u计数
    -列显示相册中有多少图像)

  • 第二个表是
    用户
    ,列名称为
    用户id
    *

  • *
    user\u id
    对于两个表都是相同的(
    albums.user\u id=users.user\u id

    我想统计一下总共有多少用户获得了超过500张图像

    棘手的部分-用户可以有一个带有600个图像的相册,或者700个带有一个图像的相册。这两种方法都适用于我们的查询。因此,我们不能简单地计算相册id或相册img计数,我们必须以某种方式将它们结合起来

    我想统计一下有多少用户总共获得了超过500张图片

    这听起来像是聚合。要获取用户列表,请执行以下操作:

    select user_id, sum(album_img_count)
    from t
    group by user_id
    having sum(album_img_count) > 500;
    
    然后将其用作子查询:

    select count(*)
    from (select user_id, sum(album_img_count) as cnt
          from t
          group by user_id
          having sum(album_img_count) > 500
         ) x;
    

    像这样的工作:

    select users.name, sum(album_img_count) as cnt
          from albums, users
          where users.user_id = albums.user_id
          group by user_id
          having cnt > 500
    

    谢谢你,先生。它几乎成功了(除了我手动将
    users.name
    更改为
    users.user\u id
    (也许你可以编辑你的答案)。它给了我一个
    user\u id
    列,旁边是列表格式的
    cnt
    计数。但是,我只想知道一个数字,有多少用户获得了超过500张图像。例如,答案是7468个用户。我假设
    users
    表中的信息比id更多。如果所有这些都是
    user\u id
    则您不需要加入,因为该信息已在
    album\u img\u count
    中提供。如果您只需要最终的总计数,则@GordonLinoff的答案中的子选择查询是正确的。您假设正确。我确实在
    users
    表中有更多信息,为了简化起见,我将没有向查询添加其他属性。因此,我确实需要“加入”。这就是为什么我问如何使用您的SQL示例获得答案。关于“有多少用户获得了超过500张图像”的答案。这就是为什么@Gordon Linoff answer对我不起作用。有没有解决我的问题的技巧?谢谢您的回答,但它没有“加入”查询。我需要使用“join”,因为我将从我的
    用户
    表中添加额外的参数,而不仅仅是
    用户。user\u id
    @En0w1na…这回答了你问的问题。如果你有不同的问题,然后问一个新问题。哈?也许我很愚蠢,但你把我弄糊涂了。在我写的问题中“我正在尝试做一个简单的连接查询”,你提供了一个没有“连接”的答案。但是你说答案是正确的。它是正确的,但是它没有“连接”。我缺少什么吗?O_O