我有以下查询。 我只需要选择组内的最旧行(按日期列)。保持我的条件(在哪里和组合)。mysql在一个group by声明中的条件?
SELECT
table.*
from table
where views > $views AND sales>23
group by
name
是一个有点清晰很喜欢FRM通过这首台
+--------------------+-----------+--------------------+-----------+
| name | views | DATE | sales |
+--------------------+-----------+--------------------+-----------+
| sue1 | 494 | 2014-06-23 12:08:29| 26 |
| sue2 | 494 | 2014-06-25 12:08:29| 34 |
| sue3 | 494 | 2014-06-27 12:08:29| 45 |
| sue4 | 520 | 2014-06-26 12:08:29| 56 |
| sue5 | 570 | 2014-06-24 12:08:29| 20 |
| sue5 | 570 | 2014-06-24 12:08:29| 28 |
+--------------------+-----------+--------------------+-----------+
这第二个
+--------------------+-----------+--------------------+-----------+
| name | views | DATE | sales |
+--------------------+-----------+--------------------+-----------+
| sue3 | 494 | 2014-06-27 12:08:29| 45 |
| sue4 | 520 | 2014-06-26 12:08:29| 56 |
| sue5 | 570 | 2014-06-24 12:08:29| 28 |
+--------------------+-----------+--------------------+-----------+
marko.c
我试图做一个如此选择
SELECT
table.*
from table
where views > $views AND sales>23
and date in (select max(date) from table where views > $views AND sales>23)
group by
name
但它不工作。任何人?
它告诉你什么? – evanv
您可以使用ORDER BY DATE DESC LIMIT 1;这将使您的结果只有1行DATE IN降序。请让我知道这对你有没有用。 –
你想要的输出是什么? –