繁体   English   中英

选择两行具有相同列值的位置并回显它们

[英]Select where two rows have the same column value and echo them

在“ ogitems”表中,我有一列称为“ itemname”,“ month”和“ price”。

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

我想检查“ 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'] . ""?>;">

基本上 ,我正在尝试获取一件商品的两个最新价格,并将它们回显到该锚定标签中。 在此先感谢您的帮助!

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

我假设你的月份是一个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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM