[英]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.