SQL 不是我最擅长的,我需要一些帮助来构建 select 语句。
基本上,这是我的要求。该表存储名称列表和在表中输入名称时的时间戳。一周内可以多次输入姓名,但每天只能输入一次。
我希望选择查询返回过去 7 天内(但不是今天)任何时候输入的姓名。
要获取今天输入的姓名列表,这是我的声明:
Select * from table where Date(timestamp) = Date(now())
并获取过去 7 天(不包括今天)输入的姓名列表:
Select * from table where (Date(now())- Date(timestamp) < 7) and (date(timestamp) != date(now()))
如果第一个查询返回一个集合或结果,比如A,第二个查询返回B,我怎么得到
B-A
最佳答案
如果您使用的是 SQL Server,请试试这个:
SELECT * FROM Table
WHERE Timestamp BETWEEN
dateadd(day,datediff(day,0,getdate()),-7),
AND dateadd(day,datediff(day,0,getdate()),0)
这可确保时间戳介于 7 天前的 00:00 和今天的 00:00 之间。今天时间大于 00:00 的条目将不包括在内。
关于sql - 帮我建一个 SQL select 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4609620/