sql group by with group condition

时间:2014-10-12 12:52:26

标签: mysql sql

我有一个产品表赞:

id    p_name      s_date
1     A               2014-10-10
2     B               2014-10-02
3     A               2014-10-08
4     A               2014-10-11
5     B               2014-10-08

我需要在p_name上分组。查询如

SELECT * FROM product GROUP BY p_name;

此查询检索记录1和2.但在p_date分组时,我需要检查p_name当前日期。如果当前日期是'2014-10-11',我需要产品组'A'的记录4,因为记录4与当前日期匹配,产品组'B'记录2,因为没有p_name'B'与当前日期匹配。在p_date分组时查询p_name与当前日期的查询。我需要从与当前日期匹配的组中检索记录,如果没有记录与当前日期匹配则记录最小日期。

1 个答案:

答案 0 :(得分:0)

也许您可以检查MySQL Having子句..并将查询修改为有点像......

SELECT * FROM product GROUP BY p_name HAVING p_date = CURDATE();