我想按年份分组并计算每年的所有订单。
我发现了这个: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
但它只产生空值。
答案 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)