用于计算平均值并插入表中的 SQL 查询

沙希卜

我正在处理歌曲档案数据库,但遇到了一些查询。我想 -

  • 通过他们的平均计算每个用户的评价Commentsscore,并插入到评级Users
  • 计算每个用户有多少购买
  • 计算平均值scoreSongComments
  • 计算credits每个用户在购买上花费了多少

您可以在下面找到我的表...

CREATE TABLE Users
(
    username   NVARCHAR( 30 )   NOT NULL   PRIMARY KEY,
    pass       NVARCHAR( 16 ),
    email      NVARCHAR( 50 ),
    city       NVARCHAR( 10 ),
    credits    INT,
    rating     INT
)

CREATE TABLE Songs
(
    song_id       INT              NOT NULL   IDENTITY ( 1, 1 )   PRIMARY KEY,
    song_name     NVARCHAR( 30 ),
    username      NVARCHAR( 30 ),
    genre         INT,
    price         INT,
    song_length   INT,
    listens       INT
)

CREATE TABLE Genres
(
    genre_id     INT              NOT NULL   IDENTITY ( 1, 1 )   PRIMARY KEY,
    genre_name   NVARCHAR( 16 )
)


CREATE TABLE Purchases
(
    purchase_id      INT              NOT NULL   IDENTITY ( 1, 1 )   PRIMARY KEY,
    song_id          INT,
    username         NVARCHAR( 30 )
    date_purchased   DATETIME
)

CREATE TABLE Comments
(
    comment_id   INT   NOT NULL   IDENTITY ( 1, 1 )   PRIMARY KEY,
    username     NVARCHAR( 30 ),
    song_id      INT,
    text         NVARCHAR( 30 ),
    score        INT
)
健康服务中心

我回答了你的一些问题。除了各自的查询之外,我将它们安排为公共表表达式,我认为这可能是使用它们的一种便捷方式......

计算每个用户在购买上花费了多少积分,可能需要了解您关于用户如何投资积分的逻辑。

    WITH CTE_PurchasesByUser AS
    (
        SELECT p.username as username,  count(*) as NrOfPurchases
        FROM Purchases p
        GROUP BY p.username
    ),
    CTE_AverageScoreBySong AS
    (
        SELECT c.song_id as song_id, (sum(c.score)/count(c.score)) as AverageScore
        FROM Comments c
        GROUP BY c.song_id
    ),
    CTE_AverageScoreByUser AS
    (
        SELECT u.username as username, (sum(c.score)/count(c.score)) as AverageScore
        FROM Users u
        INNER JOIN Comments c ON u.username = c.username
        GROUP BY u.username
    )
    SELECT u.*, ISNULL(bbu.NrOfPurchases,0), asu.AverageScore 
    FROM Users u
    LEFT JOIN CTE_PurchasesByUser bbu ON u.username = bbu.username
    LEFT JOIN CTE_AverageScoreByUser asu ON u.username = asu.username

此 SQL 与您的表一起运行,但我没有使用数据行对其进行测试...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SQL查询计算平均值的平均值

来自分类Dev

每个状态平均值的SQL查询计算列

来自分类Dev

从选择查询中将平均值插入表中

来自分类Dev

SQL查询以获取两个表中每个组的平均值

来自分类Dev

对平均值函数进行SQL查询

来自分类Dev

获取子查询SQL的平均值

来自分类Dev

SQL SELECT 查询总和 > 平均值

来自分类Dev

在配置文件中存储用户的“评分”或不断运行SQL查询以从单独的表中获取平均值

来自分类Dev

Oracle SQL查询来计算数据集的平均值,不包括异常值

来自分类Dev

Oracle SQL查询来计算数据集的平均值,不包括异常值

来自分类Dev

将2个SQL查询联接在一起,以在同一查询中获得工作日平均值和周末平均值

来自分类Dev

如何获得SQL查询的前N行的平均值?

来自分类Dev

MS SQL查询每天的最小/最大/平均值

来自分类Dev

SQL查询以获取平均值之和

来自分类Dev

SQL查询以获取特定父母的孩子的平均值

来自分类Dev

SQL Server 查询上次和平均值

来自分类Dev

Sql Server 2012中一个查询的平均值和中位数

来自分类Dev

Sql Server 2012中一个查询的平均值和中位数

来自分类Dev

如何在SQL,MySQL中每7天查询一次平均值?

来自分类Dev

尝试将总体平均值添加到此SQL查询中。

来自分类Dev

SQL计算平均值

来自分类Dev

在SQLAlchemy中的子查询中计算平均值

来自分类Dev

LINQ to SQL:左联接表本身并计算平均值

来自分类Dev

SQL Union 或 Join 计算多个表的平均值

来自分类Dev

SQL Server-查询以基于每年的上一次值来计算加权平均值

来自分类Dev

平均值计算SQL Server中的加权平均值

来自分类Dev

如何计算SQL Server中变量的平均值

来自分类Dev

计算数据库SQL中的平均值

来自分类Dev

SQL中根据月份和ID计算平均值

Related 相关文章

  1. 1

    SQL查询计算平均值的平均值

  2. 2

    每个状态平均值的SQL查询计算列

  3. 3

    从选择查询中将平均值插入表中

  4. 4

    SQL查询以获取两个表中每个组的平均值

  5. 5

    对平均值函数进行SQL查询

  6. 6

    获取子查询SQL的平均值

  7. 7

    SQL SELECT 查询总和 > 平均值

  8. 8

    在配置文件中存储用户的“评分”或不断运行SQL查询以从单独的表中获取平均值

  9. 9

    Oracle SQL查询来计算数据集的平均值,不包括异常值

  10. 10

    Oracle SQL查询来计算数据集的平均值,不包括异常值

  11. 11

    将2个SQL查询联接在一起,以在同一查询中获得工作日平均值和周末平均值

  12. 12

    如何获得SQL查询的前N行的平均值?

  13. 13

    MS SQL查询每天的最小/最大/平均值

  14. 14

    SQL查询以获取平均值之和

  15. 15

    SQL查询以获取特定父母的孩子的平均值

  16. 16

    SQL Server 查询上次和平均值

  17. 17

    Sql Server 2012中一个查询的平均值和中位数

  18. 18

    Sql Server 2012中一个查询的平均值和中位数

  19. 19

    如何在SQL,MySQL中每7天查询一次平均值?

  20. 20

    尝试将总体平均值添加到此SQL查询中。

  21. 21

    SQL计算平均值

  22. 22

    在SQLAlchemy中的子查询中计算平均值

  23. 23

    LINQ to SQL:左联接表本身并计算平均值

  24. 24

    SQL Union 或 Join 计算多个表的平均值

  25. 25

    SQL Server-查询以基于每年的上一次值来计算加权平均值

  26. 26

    平均值计算SQL Server中的加权平均值

  27. 27

    如何计算SQL Server中变量的平均值

  28. 28

    计算数据库SQL中的平均值

  29. 29

    SQL中根据月份和ID计算平均值

热门标签

归档