我正在尝试制作过去几个月中一个MySQL列的总和的图表。现在我有一条SQL语句:
SELECT SUM(Distance) AS `Data`, MONTH(`Date`) AS `DateVal`
FROM `Activities`
WHERE Date > ADDDATE(NOW(), INTERVAL -10 MONTH) GROUP BY YEAR(`Date`),
MONTH(`Date`) ORDER BY Date DESC LIMIT 10
此SQL语句不起作用,因为它只提取有数据的月份。对于没有数据的月份,SQL服务器有没有办法返回0?
我能找到的唯一方法就
我有一张表,上面列出了一长串设备和销售时间的信息。我需要像这样的桌子:
Item | Time Sold
--------------------
A 05/2010
B 04/2010
C 03/2010
A 04/2010
A 05/2010
然后创建一个表,将该项作为第一列,日期计数作为列标题,如下所示:
Item | Count_03/2010 | Count_04/2010 | Count_05/2010
---------------------------------
我在一个表中有一个列update_date,类型是timestamp。我使用phpmyadmin下拉菜单将默认值设置为CURRENT_TIMESTAMP。但后来当我运行sql UPDATE x SET时...如果时间戳列中的任何列都有更改,它就会更新时间戳列。我想要实现的是,无论是否有更改,在每次运行更新sql时都设置当前时间。有没有办法在mysql中做到这一点,或者我需要在每次调用更新时显式地设置update_date?
谢谢
编写可以在MySQL和PostgreSQL中运行的查询(一个sql文件),到目前为止,除了以下内容之外,一切都还好:
SELECT MONTH(Date), YEAR(Date) FROM Ticket;
用于提取月份数(9,10,11 .)和年份(2011、2012.)从Date列(是的,这是真的,我不能更改此列的名称)在票证表中。它在MySQL中运行得很好,但是当我在PostgreSQL中运行查询时,它会给出以下针对月份()和年份()的错误消息。
ERROR: function month(date) does not exist
HINT: No function matches t