【问题标题】:Group by year without year() function [Web-SQL]没有 year() 函数的按年份分组 [Web-SQL]
【发布时间】:2017-10-01 19:56:46
【问题描述】:

我想按年份分组并计算每年的所有订单。

我发现了这个:SQL grouping by month and year,但所有答案都使用了在 WebSQL 中不起作用的函数。

我试图运行这个:

SELECT to_char (OrderDate, 'YYYY') AS y, count(*) ordCnt // and year
FROM [Orders]
group by OrderDate
order by ordCnt desc

这里: https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all 但是没有to_char 函数。

我也试过这个:

SELECT Date(OrderDate, '%Y') AS y, count(*) ordCnt
FROM [Orders]
group by y

但它只产生空值。

【问题讨论】:

    标签: sql web-sql


    【解决方案1】:

    Web-SQL 是真正的 SQLite。我希望以下工作:

    SELECT strftime(OrderDate, '%Y') AS y, count(*) as ordCnt
    FROM Orders o
    GROUP BY strftime(OrderDate, '%Y');
    

    【讨论】:

    • @shinzou 。 . .也许orderdate 中没有您认为的数据。
    【解决方案2】:

    使用 WebSQL 计算按 OrderDate Daily/Monthly/Yearly 报告的 Quantity Grouping 总和 来自的示例数据 https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_all

    每天

    SELECT STRFTIME('%Y-%m-%d',OrderDate),SUM(od.Quantity)
    FROM [Orders] o
    JOIN [OrderDetails] od on o.OrderID=od.OrderID
    GROUP BY STRFTIME('%Y-%m-%d',OrderDate)
    

    每月

    SELECT STRFTIME('%Y-%m',OrderDate),SUM(od.Quantity)
    FROM [Orders] o
    JOIN [OrderDetails] od on o.OrderID=od.OrderID
    GROUP BY STRFTIME('%Y-%m',OrderDate)
    

    每年

    SELECT STRFTIME('%Y',OrderDate),SUM(od.Quantity)
    FROM [Orders] o
    JOIN [OrderDetails] od on o.OrderID=od.OrderID
    GROUP BY STRFTIME('%Y',OrderDate)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-29
      • 2016-11-15
      • 2020-04-22
      • 2020-12-31
      • 2017-11-05
      • 1970-01-01
      相关资源
      最近更新 更多