sql没有重复日期

时间:2013-12-12 09:50:38

标签: mysql wordpress date

我有一个wordpress网站,日期以这种方式存储在2014年1月24日的meta_value下。如果有2个日期具有相同的值,那么我的sql只选择一个日期。

我的查询是:

SELECT wp_posts.* ,wp_postmeta.* 
       FROM wp_posts,wp_postmeta 
       WHERE wp_posts.ID = wp_postmeta.post_id 
             AND wp_posts.post_status = 'publish' 
             AND wp_postmeta.meta_key='advert_date' 
             AND STR_TO_DATE(wp_postmeta.meta_value, '%d/%m/%Y') BETWEEN '2014-01-01' AND '2014-01-31' 
      GROUP BY wp_postmeta.meta_value 
      ORDER BY wp_postmeta.meta_value asc

共有7条记录,日期为

1 -- 03/01/2014

2 -- 08/01/2014

3 -- 10/01/2014

4 -- 16/01/2014

5 -- 24/01/2014

6 -- 24/01/2014

7 -- 31/01/2014

它只显示6条记录并忽略记录ID 6.

是否忽略重复记录?

2 个答案:

答案 0 :(得分:2)

mysql中的group by语句组合了重复的条目。这非常方便。由于您按日期分组,因此它将“汇总”所有日期。但是只显示了第一个按分组排列的。当使用SUM或AVERAGE等聚合函数时,这通常很有用。假设您想知道约会时所有的钱。按日期分组并汇总资金。你会得到每个日期和多少钱的条目。

答案 1 :(得分:1)

您需要从SQL中删除group by wp_postmeta.meta_value