按名称排序sql请求中的相同行,而不是按2个日期之间的日期排序

时间:2016-04-09 09:58:05

标签: php mysql date

我在图片上描述的完整问题。现在我在一个日期有2个相同的行。 2016年9月7日。他们是相同的TITLE不买日期。我需要对它们进行分组,只回显一行,但数量为2。

我如何编辑我的请求?

My question in described on this picture

这是请求:

SELECT * FROM cupons 
 WHERE YEAR(dateadd) = YEAR(NOW()) 
   AND MONTH(dateadd)=MONTH(NOW()) 
   AND referer='$user[idreferer]' ORDER BY id DESC

2 个答案:

答案 0 :(得分:0)

听起来像是在追逐像GROUP BY之类的东西。这是一个简单的例子

SELECT 
    col1
    ,col2
    ,col3
FROM 
    cupons
WHERE 
    YEAR(dateadd) = YEAR(NOW())
    AND MONTH(dateadd) = MONTH(NOW()) 
    AND referer = '$user[idreferer]'
GROUP BY col1, col2, col3
ORDER BY id DESC;

答案 1 :(得分:0)

你应该使用group by和aggegate函数count(*)或sum(your_column)(依赖于你想要行的计数或行中列值的总和)

  SELECT col1, col2, ... count(*) FROM cupons 
  WHERE YEAR(dateadd) = YEAR(NOW()) 
  AND    MONTH(dateadd)=MONTH(NOW()) 
  AND referer='$user[idreferer]' 
  ORDER BY id DESC
  Group By col1, col2, ...