0

在“ogitems”表中,我有一个名为“itemname”、“month”和“price”的列。

有重复的项目,按月排列。

我想检查“itemname”以查看是否有任何行具有相同的 itemname 值,如果是,则回显“itemname”以及过去两个月和这两个月的定价。

例子:

"itemname" = 奶酪切达干酪

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'] . ""?>;">

基本上,我试图获取一件物品的两个最新价格并将它们回显到这个锚标签中。提前感谢您的帮助!

4

2 回答 2

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"];
   }
?>
于 2012-12-27T02:32:09.617 回答
0

我假设您的月份是 a date field,这应该可以

SQL Fiddle 链接: 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
于 2012-12-27T02:40:25.487 回答