没有year()函数的年份分组[Web-SQL]

时间:2017-10-01 19:56:46

标签: sql web-sql

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

我发现了这个: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

但它只产生空值。

2 个答案:

答案 0 :(得分:0)

Web-SQL实际上是SQLite。我希望以下工作:

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

答案 1 :(得分:0)

使用来自 WebSQL 的示例数据计算按 OrderDate 每日/每月/每年报告的数量分组的总和 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)