Vzl*_*tea 2 mysql sql database
我有一个机密网站...我正在尝试制作一个SQL查询,用于计算用户在过去7天内发布的广告数量,但我有一个问题...
我试图在用户个人资料中显示例如:[用户名]在过去7天内发布了30个广告
这是我的SQL查询 - >
SELECT COUNT(*)
FROM table_name
WHERE user_id = '[user_id]' AND created_date > NOW() - INTERVAL 7 DAY
Run Code Online (Sandbox Code Playgroud)
所以在我的情况下,"table_name"包含来自所有用户的所有广告,并且" user_id='[user_id]'"我向用户显示他的广告数量,向用户B显示他的广告数量等...
所以这个查询工作,它从"[用户名]正确计算广告的数量,但是,例如,如果用户在网站的进入和删除的1,2或任何他的广告的号码,这个号码会被"minused"已发布30过去7天内的广告"
有人可以帮助我,我可以添加什么来查询,以便计数仍然显示正确的广告数量(在我的情况下是20个广告),即使广告被删除..
谢谢干杯
不是使用DELETE ... WHERE ...语句删除行,而是添加deleted列并使用UPDATE语句:
UPDATE ... SET deleted = 1 WHERE ...
Run Code Online (Sandbox Code Playgroud)
然后你的计数功能无需修改即可运行.
当然,您现在必须修复所有其余代码,以便不显示已删除的广告.您可以通过添加WHERE NOT deleted到所有其他查询来执行此操作.您还可以创建仅显示未删除广告的视图,并更新代码以查询此视图而不是原始表.
| 归档时间: |
|
| 查看次数: |
476 次 |
| 最近记录: |