我有这种格式的mysql表
userid = int
amount = int
company =string
status =int
submission_time = date/time
approval_time =date/time
我想总计每个用户ID的数量,按用户ID,状态和submission_time {date} 30天的差异进行区分
我对查询的想法。
SELECT sum(amount) as total,* FROM Tablename
WHERE status=0 and submission_time<=DATE_SUB(NOW(), INTERVAL 31 DAY)
我无法根据用户ID,状态和submission_time(日期30天)选择数据。
请帮我构建此查询。
答案 0 :(得分:1)
如果您只想要30天的记录,请尝试以下查询。
SELECT userid, SUM(amount) as total FROM Tablename
WHERE status=0 AND submission_time >= DATE_SUB(NOW(), INTERVAL 31 DAY)
GROUP BY userid
我仍然不确定您是否希望将COUNT()
用于amount
列,根据我的想法,您应该使用SUM()