我有一张名为" fiyatlar"在MySql数据库中。表格包含多个产品ID以及每月和每年的价格。请查看下面的示例表:
ID Price Month Year
11111 11.00 5 2016
11111 12.15 6 2016
11111 13.10 7 2016
22222 8.75 5 2016
22222 8.50 6 2016
22222 8.00 7 2016
我需要找到当月的最低价格产品,并将它们列在数据网格中。
提前谢谢。
答案 0 :(得分:1)
根据新了解的要求更新:
我无法忍受不解决这个问题。 :)这将有效:
SELECT fiyatlar.ID
FROM fiyatlar INNER JOIN
(SELECT ID, MIN(Price) AS Price
FROM fiyatlar GROUP BY ID) AS tmp
ON fiyatlar.ID = tmp.ID
AND fiyatlar.Price = tmp.Price
WHERE Year = YEAR(current_date())
AND Month = MONTH(current_date());
这是我重复最小值的测试表:
11111 12.15 6 2016
11111 11.00 5 2016
11111 10.90 10 2015
11111 10.90 7 2016
22222 9.00 9 2015
22222 8.75 5 2016
22222 8.70 7 2015
22222 8.50 6 2016
22222 7.90 4 2015
22222 7.70 8 2015
22222 7.70 7 2016
33333 8.99 1 2016
33333 7.80 2 2016
33333 3.90 3 2016
33333 5.90 4 2016
33333 7.90 5 2016
33333 5.90 6 2016
33333 3.90 7 2016
答案 1 :(得分:0)
如果你有这个想法?
SELECT *
FROM
(SELECT *
FROM fiyatlar
WHERE Year = YEAR(current_date())
AND Month = MONTH(current_date())) month_table
WHERE Price = MIN(Price)