0

現在の在庫を表示するために使用するgroupbyおよびsumテーブルがあります(すべての在庫エントリをグループ化して合計します)。グループごとに最新のエントリー日を表示したい。

これが私が取り組んでいるものです:

-------------------------------------------------------------------
ProductID   |  Color  | Timestamp          |  Quantity  |  RowID  |
-------------------------------------------------------------------
25          |  Red    | 10/10/10 06:22:15  |  250       |  1      |
-------------------------------------------------------------------
32          |  Green  | 10/10/10 06:23:45  |  100       |  2      |
-------------------------------------------------------------------

$query = "SELECT productid, color, SUM(Quantity) AS TotalQuantity FROM inventory GROUP BY productid, color";
$result = mysql_query($query) or die(mysql_error());

   // Table markup here
   echo '<tr><td>'. $row['productid'] . '</td><td>' . $row['color']. '</td><td>'. $row['TotalQuantity'];
   // Table markup here

最大値関数を使用して各グループの最大ROWIDを取得しようとしましたが、非常に混乱していました。

4

1 に答える 1

3

さて、各グループの最新のエントリ日も構造上最新のものである場合は、次のように簡単に使用できます。

SELECT
    productid,
    color,
    SUM(Quantity) AS TotalQuantity,
    MAX(Timestamp) AS LatestDate
FROM inventory
GROUP BY productid, color;
于 2012-06-20T20:32:25.020 に答える