2017-09-14 187 views
-3

我需要跳过每天高价格的结果。我有这样的表格:正确SQL查询

+------+-------------+-------+ 
| days | return_date | value | 
+------+-------------+-------+ 
| 2 | 2017-12-27 | 15180 | 
| 3 | 2017-12-28 | 14449 | 
| 4 | 2017-12-29 | 13081 | 
| 5 | 2017-12-30 | 11203 | 
| 6 | 2017-12-31 | 9497 | 
| 6 | 2017-12-31 | 9442 | 
+------+-------------+-------+ 

如何打印6天内的最低价格(本例中为9442)。

+0

什么是高价位,为什么'9442'不打印 –

+0

9442较低: - |?。实施 – Strawberry

+0

对不起,我心中已经编辑后 –

回答

0

我们可以使用GROUP BY子句和聚合函数。例如:

SELECT t.days 
    , t.return_date 
    , MIN(t.value) AS min_value 
    FROM mytable t 
GROUP 
    BY t.days 
    , t.return_date 

这并不真正“跳过”行。它访问满足WHERE子句中条件的所有行(在本例中为表中的每一行)。然后,MySQL将行分解为组(在本例中,days和return_date值相同的行被放入组中)MIN(t.value)聚合函数从组中选出最小(最小)值

上面的查询是只是满足特定规格的一个方法的一个例子