mysql - 如何在一个查询中使用内连接获取列值的总和?

标签 mysql sql database inner-join

我有一个表名为 a_ad_display,因为我有下表

advId | Displaytime

我有一个带有以下列的 a_advertise 表

advertiseId| advertisename| mediaTypeId

我有一个带有以下列的 a_mediatype 表

mediaTypeId | medianame

1 | Image
2 | Animation
3 | video

a_display 表中有多个 advId 条目

我想获取 adv 显示的总和及其媒体类型,例如 a_display 表中有多少视频、图像和动画类型的广告

我是这样做的

SELECT 
  mdtype.medianame AS _type,
  SUM(mdtype.medianame = 'Image') AS _display 
FROM
  a_ad_display a 
  INNER JOIN a_advertise adv 
    ON adv.advertiseId = a.advId 
  INNER JOIN a_mediatype mdtype 
    ON mdtype.mediaId = adv.mediaTypeId 
GROUP BY medianame ;

但我得到了以下结果

enter image description here

但是如果只写 sum(distinct mdtype.medianame) 那么它会给我错误...那么我怎样才能在一个查询中获得图像视频和动画的所有值?

最佳答案

SELECT
    m.medianame,
    COUNT(as.advId) as Total
FROM    a_mediatype as m
INNER JOIN a_advertise as a ON a.mediaTypeId = m.mediaTypeId
INNER JOIN  a_ad_display as ad ON ad.advId = a.advertiseId
GROUP BY m.mediaTypeId

关于mysql - 如何在一个查询中使用内连接获取列值的总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14826545/

相关文章:

php - 使用多个文件在php中一次访问数据库

mysql - 重复行的条件

mysql - 如何在localhost上将asp.net连接到mysql并授予iis访问mysql的权限

MySQL:将相对秒数转换为日期时间?

database - 两个外键而不是主键

mysql - 数据库设计题

mysql - 数据库 - GROUP BY?组_连接?定制应用程序?

sql - SQL Server 2012 中的 LAST_VALUE 返回奇怪的结果

mongodb - 为初学者推荐一个好的 mongodb/数据库教程?

PHP MySQLi - WHERE "calculated value is smaller than"不工作