2012-12-27 15 views
0

在表「ogitems」中,我有一個名爲「itemname」,「month」和「price」的列。選擇兩行具有相同列值的地方並回顯它們

有重複項目,按月排列。

我想檢查「itemname」以查看是否有任何行具有相同的itemname值,如果是,請在最後兩個月中回顯「itemname」以及這兩個月的定價。

實施例:

「ITEMNAME」=奶酪切達

乾酪切達是在幾個月11和12發現(所以有兩個記錄/乾酪切達行)。 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

我假設你的月是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 
+0

完美!謝謝。 – Alex

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"]; 
    } 
?> 
相關問題