我该怎么做?我有这个表分组+行差异? php mysql
╔════════╦══════════╦══════════╗
║ ITEM ║ PRICE ║ DATE ║
╠════════╬══════════╬══════════╣
║ Dollar ║ 60 ║ 1.3.2016 ║
║ Dollar ║ 50 ║ 2.3.2016 ║
║ Bound ║ 100 ║ 1.3.2016 ║
║ Bound ║ 110 ║ 2.3.2016 ║
║ Euro ║ 600 ║ 1.3.2016 ║
║ Euro ║ 580 ║ 3.3.2016 ║
╚════════╩══════════╩══════════╝
输出应该从每个类型与最后日期和前一行差价最后价格dedepnding显示一个项目,像这样
╔════════╦══════════╦════════════════════════╗
║ ITEM ║ PRICE ║ DATE ║ Differnece ║
╠════════╬══════════╬════════════════════════╣
║ Dollar ║ 50 ║ 2.3.2016 ║ -10 ║
║ Bound ║ 110 ║ 2.3.2016 ║ 10 ║
║ Euro ║ 580 ║ 3.3.2016 ║ -20 ║
╚════════╩══════════╩════════════════════════╝
这是我做的,但它是抛出错误
SELECT a.item, a.price, a.date, a.price - b.price AS difference
FROM (SELECT t1.item, t1.price, t1.date
FROM yourTable AS t1
JOIN (SELECT item, MAX(date) AS maxdate
FROM yourTable
GROUP BY item) AS t2
ON t1.item = t2.item, t1.date = t2.maxdate) AS a
JOIN (SELECT t1.item, t1.price, t1.date
FROM yourTable AS t1
JOIN (SELECT item, MIN(date) AS mindate
FROM yourTable
GROUP BY item) AS t2
ON t1.item = t2.item, t1.date = t2.mindate) AS b
这是错误
1064 - 您的SQL语法错误;检查对应于你的MySQL服务器版本使用附近的正确语法手册“.maxdate)为连接(SELECT t1.item_type,t1.purchasing_price,t1.date_price”在第7行
你尝试过什么吗?请告诉我们你的代码。 – arman1991
不是真的,我不是真的是程序员 – gaidi
听起来你需要聘请一个真正的程序员,你不可能期望来这里,并让我们在每次需要写入查询时都这样做。 – Barmar