我希望有人能给我指路。
很长一段时间以来,我一直在尝试在一个查询中按周、天和年获得一些销售结果,但没有机会。
我找到了一种可以帮助我但在 mysql 中不起作用的语法。
TRANSFORM
Sum(Cantidad) AS Ventas
SELECT
Producto, Cantidad
FROM
Pedidos
WHERE
Fecha Between #01-01-1998# And #12-31-1998#
GROUP BY
Producto
ORDER BY
Producto
PIVOT
DatePart("m", Fecha)
我真正的查询是这个:
select sum(orders.final_price) AS total
, orders.id_comercial
, vendedores.nombre
from orders
, vendedores
WHERE orders.id_comercial = vendedores.id
AND DATE(orders.date_purchased) = DATE(NOW())
GROUP BY orders.id_comercial
我真的很感激一些想法,可能要到西类牙的深夜 ;)
我的查询结果是这样的:
total id_comercial nombre
740.83 24 AITOR ANGULO
2069.37 29 FERNANDO I
482.05 32 JOSE ANDRES
961.32 33 ALBERTO FERNANDEZ -CANTABRIA-
908.66 34 GONZALO
49.54 38 LUIS LOPEZ
4082.42 39 JULEN DEL CURA
1512.87 43 ALBERTO POBLACION
1268.91 44 MASSIMO
3269.08 45 JOSE RAMON BURGA
56.49 47 EMPRESA
2791.65 48 MARCO MORILLO
1445.57 61 TINO
869.73 63 SONIA
1052.02 381 DAVID ARIAS
真的很感谢大家。
最佳答案
例如,这将为您提供当天、7 天和年初至今的总计
select sum(case when DATE(orders.date_purchased) = DATE(NOW()) then orders.final_price end) AS TotalToday
, sum(case when DATE(orders.date_purchased) >= DATE(NOW() -7) then orders.final_price end) AS TotalLast7Days
, sum(case when YEAR(orders.date_purchased) = YEAR(NOW()) then orders.final_price end) AS TotalYearToDate
, orders.id_comercial
, vendedores.nombre
from orders
, vendedores
WHERE orders.id_comercial = vendedores.id
AND orders.date_purchased >= date(concat(year(now()),'-01-01'))
GROUP BY orders.id_comercial, vendedores.nombre
仅供引用 date(concat(year(now()),'-01-01'))
为您提供当年的第一天
但是如果你想要一个数据透视表,那么
select sum(case when MONTH(orders.date_purchased) = 1 then orders.final_price end) AS Jan
, sum(case when MONTH(orders.date_purchased) = 2 then orders.final_price end) AS Feb
....
, sum(case when MONTH(orders.date_purchased) = 12 then orders.final_price end) AS Dec
, orders.id_comercial
, vendedores.nombre
from orders
, vendedores
WHERE orders.id_comercial = vendedores.id
AND orders.date_purchased >= date(concat(year(now()),'-01-01'))
GROUP BY orders.id_comercial, vendedores.nombre
没有与 Access 运算符 TRANSFORM 等效的 MySQL(或任何其他像样的 RDBMS),后者自动从数据中生成动态数量的列。
关于mysql - 像 mysql 问题中那样转换和转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5332554/