【问题标题】:How to set a SQL statement into other statement to create a view如何将一条 SQL 语句设置为其他语句以创建视图
【发布时间】:2021-03-02 06:13:27
【问题描述】:

我正在尝试编写一个包含另一条语句的 SQL 语句,以从中获取所有视图。我有 1 个数据表。该表有 3 行(见:表 1)。我想要做的是创建一个视图,其中一次选择所有日期DISTINCT。现在对于每个选定的 date 行,选择 date = date 的所有行并将所有 price 相加。

例如:主表

+----+--------------+---------------+------------+
| id | article_name | article_price |    date    |
+----+--------------+---------------+------------+
|  1 | T-Shirt      |            10 | 2020-11-16 |
|  2 | Shoes        |            25 | 2020-11-16 |
|  3 | Pullover     |            35 | 2020-11-17 |
|  4 | Pants        |            10 | 2020-11-18 |
+----+--------------+---------------+------------+

我期望有 3 行(因为前 2 行具有相同的日期)

+------------+-----+
|    date    | sum |
+------------+-----+
| 2020-11-16 |  35 |
| 2020-11-17 |  35 |
| 2020-11-18 |  10 |
+------------+-----+

我很难想出一个“算法”来解决这个问题。 有什么想法吗?

【问题讨论】:

  • 向我们展示您尝试合并的语句。
  • 提示:GROUP BY.
  • @DaleK 这就是问题所在,我无法理解建立陈述的想法

标签: sql sql-server sum aggregate-functions


【解决方案1】:

使用group by

select date, sum(article_price) as sum_article_price
from mytable
group by date

【讨论】:

  • 好人,除了一件事之外,我会这样做.....我将 article_price 设置为 varchar 以便能够像 13.99 一样插入 double data type 的值。知道在这种情况下该怎么做吗?
  • 永远不要使用varchar作为数字——使用decimal
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-09-15
  • 2017-04-21
  • 1970-01-01
  • 2012-02-10
  • 1970-01-01
  • 2021-01-28
  • 1970-01-01
相关资源
最近更新 更多