在表“ogitems”中,我有一个名为“itemname”,“month”和“price”的列。
有重复的项目,按月排列。
我想检查“itemname”以查看是否有任何行具有相同的itemname值,如果是,则回显“itemname”以及最近两个月以及这两个月的定价。
实施例
“itemname”= CHEESE CHEDDAR
CHEESE CHEDDAR在第11个月和第12个月被发现(因此CHEESE CHEDDAR有两个记录/行)。 11的“价格”为51,而12的“价格”为54
我希望将这些信息反映到锚标记......
<a href="pricetrend.php?date=<?php echo "" . $row['month'] . "" ?>&price1=<?php echo $price1; ?>&price2=<?php echo $price2; ?>&item=<?php echo "" . $row['itemname'] . ""?>;">
基本上,我试图获取一个项目的两个最新价格并将它们回显到此锚标记中。在此先感谢您的帮助!
答案 0 :(得分:0)
select * from ogitems where itemname='CHEESE CHEDDAR' order by month desc limit 2
这个sql语句应该解决你的问题
<?php
$result = mysql_query("select * from ogitems where itemname='CHEESE CHEDDAR' order by month desc limit 2")
while ($row = mysql_fetch_assoc($result)) {
echo $row["itemname"];
echo $row["month"];
echo $row["price"];
}
?>
答案 1 :(得分:0)
我假设你的月份是date field
,这应该可行
SQL小提琴链接: http://sqlfiddle.com/#!2/d63a0/4
SELECT * FROM (
SELECT
o.itemname,
o.month,
( SELECT price FROM ogitems i WHERE i.itemname = o.itemname AND i.month<o.month ORDER BY MONTH DESC LIMIT 1) AS last_month_price,
o.price AS current_month_price
FROM
ogitems o
ORDER BY
o.month DESC
) AS items
GROUP BY
items.itemname
HAVING
items.last_month_price IS NOT NULL