我有一个像这样的mysql表点
id | points | orderid | date
1 | 10 | 1234 | 2014-01-14
2 | 20 | 4321 | 2014-02-04
3 | 10 | 1234 | 2014-01-13
我想获得唯一订单的记录数
就好像我想填写jan月份的总记录一样,结果将是
1 不是2因为我需要获取唯一订单的记录
答案 0 :(得分:8)
使用DISTINCT
功能中的COUNT()
修饰符。
SELECT YEAR(date) AS y, MONTH(date) AS m, COUNT(DISTINCT orderid)
FROM yourTable
GROUP BY y, m
答案 1 :(得分:1)
SELECT MONTHNAME(date_reg) M, YEAR(date_reg) Y, COUNT(MONTHNAME(date_reg)) T
FROM users
WHERE date_reg BETWEEN DATE_ADD(DATE_SUB(DATE_SUB(LAST_DAY(NOW()), INTERVAL
DAY(LAST_DAY(NOW())) DAY), INTERVAL 5 MONTH), INTERVAL 1 DAY) AND
DATE_SUB(LAST_DAY(NOW()), INTERVAL DAY(LAST_DAY(NOW())) DAY)
GROUP BY M
ORDER BY Y, M DESC;
答案 2 :(得分:0)
您可以使用MySQL的sp_dropserver '<oldname>';
GO
sp_addserver '<newname>', local;
GO
函数将完整的日期字符串分割为年和月,并将结果字符串分组。
substr