24小時內記錄(即86400秒)
$sql="select video_id,count(id)as n from `rec_down` where unix_timestamp(now())-unix_timestamp(add_time)<=86400 group by video_id order by n desc ";
$sql="select a.id,a.title,b.n from video_info a,(".$sql.")b where a.id=b.video_id order by n desc limit 20";
n天內記錄
where to_days(now()) - to_days(時間字段) <= n
今天的記錄
where date(時間字段)=date(now()) 或
where to_days(時間字段) = to_days(now());
查詢一周:
select * from table where date_sub(curdate(), interval 7 day) <= date(column_time);
查詢乙個月:
select * from table where date_sub(curdate(), interval interval 1 month) <= date(column_time);
查詢選擇所有 date_col 值在最後 30 天內的記錄。
mysql> select something from tbl_name
where to_days(now()) - to_days(date_col) <= 30; //真方便,以前都是自己寫的,竟然不知道有這,失敗.
dayofweek(date)
返回 date 的星期索引(1 = sunday, 2 = monday, ... 7 = saturday)。索引值符合 odbc 的標準。
mysql> select dayofweek(』1998-02-03』);
-> 3
weekday(date)
返回 date 的星期索引(0 = monday, 1 = tuesday, ... 6 = sunday):
mysql> select weekday(』1998-02-03 22:23:00』);
-> 1
mysql> select weekday(』1997-11-05』);
-> 2
dayofmonth(date)
返回 date 是一月中的第幾天,範圍為 1 到 31:
mysql> select dayofmonth(』1998-02-03』);
-> 3
dayofyear(date)
返回 date 是一年中的第幾天,範圍為 1 到 366:
mysql> select dayofyear(』1998-02-03』);
-> 34
month(date)
返回 date 中的月份,範圍為 1 到 12:
mysql> select month(』1998-02-03』);
-> 2
dayname(date)
返回 date 的星期名:
mysql> select dayname("1998-02-05");
-> 』thursday』
monthname(date)
返回 date 的月份名:
mysql> select monthname("1998-02-05");
-> 』february』
quarter(date)
返回 date 在一年中的季度,範圍為 1 到 4:
mysql> select quarter(』98-04-01』);
-> 2
week(date)
week(date,first)
對於星期日是一周中的第一天的場合,如果函式只有乙個引數呼叫,返回 date 為一年的第幾周,返回值範圍為 0 到 53 (是的,可能有第 53 周的開始)。兩個引數形式的 week() 允許你指定一周是否以星期日或星期一開始,以及返回值為 0-53 還是 1-52。這裡的乙個表顯示第二個引數是如何工作的:
值 含義
0 一周以星期日開始,返回值範圍為 0-53
1 一周以星期一開始,返回值範圍為 0-53
2 一周以星期日開始,返回值範圍為 1-53
3 一周以星期一開始,返回值範圍為 1-53 (iso 8601)
mysql> select week(』1998-02-20』);
-> 7
mysql> select week(』1998-02-20』,0);
-> 7
mysql> select week(』1998-02-20』,1);
-> 8
mysql> select week(』1998-12-31』,1);
-> 53
注意,在版本 4.0 中,week(#,0) 被更改為匹配 usa 曆法。 注意,如果一周是上一年的最後一周,當你沒有使用 2 或 3 做為可選引數時,mysql 將返回 0:
mysql> select year(』2000-01-01』), week(』2000-01-01』,0);
-> 2000, 0
mysql> select week(』2000-01-01』,2);
-> 52
你可能會爭辯說,當給定的日期值實際上是 1999 年的第 52 周的一部分時,mysql 對 week() 函式應該返回 52。我們決定返回 0 ,是因為我們希望該函式返回「在指定年份中是第幾周」。當與其它的提取日期值中的月日值的函式結合使用時,這使得 week() 函式的用法可靠。如果你更希望能得到恰當的年-周值,那麼你應該使用引數 2 或 3 做為可選引數,或者使用函式 yearweek() :
mysql> select yearweek(』2000-01-01』);
-> 199952
mysql> select mid(yearweek(』2000-01-01』),5,2);
-> 52
year(date)
返回 date 的年份,範圍為 1000 到 9999:
mysql> select year(』98-02-03』);
-> 1998
yearweek(date)
yearweek(date,first)
返回乙個日期值是的哪一年的哪一周。第二個引數的形式與作用完全與 week() 的第二個引數一致。注意,對於給定的日期引數是一年的第一周或最後一周的,返回的年份值可能與日期引數給出的年份不一致:
mysql> select yearweek(』1987-01-01』);
-> 198653
注意,對於可選引數 0 或 1,周值的返回值不同於 week() 函式所返回值(0), week() 根據給定的年語境返回周值。
hour(time)
返回 time 的小時值,範圍為 0 到 23:
mysql> select hour(』10:05:03』);
-> 10
minute(time)
返回 time 的分鐘值,範圍為 0 到 59:
mysql> select minute(』98-02-03 10:05:03』);
-> 5
second(time)
返回 time 的秒值,範圍為 0 到 59:
mysql> select second(』10:05:03』);
-> 3
period_add(p,n)
增加 n 個月到時期 p(格式為 yymm 或 yyyymm)中。以 yyyymm 格式返回值。 注意,期間引數 p 不是 乙個日期值:
mysql> select period_add(9801,2);
-> 199803
period_diff(p1,p2)
返回時期 p1 和 p2 之間的月數。p1 和 p2 應該以 yymm 或 yyyymm 指定。 注意,時期引數 p1 和 p2 不是 日期值:
mysql> select period_diff(9802,199703);
-> 11
date_add(date,interval expr type)
date_sub(date,interval expr type)
adddate(date,interval expr type)
subdate(date,interval expr type)
Mysql查詢一段時間記錄
24小時內記錄 即86400秒 sql select video id,count id as n from rec down where unix timestamp now unix timestamp add time 86400 group by video id order by n de...
PHP MYSQL查詢一段時間記錄
strone 2011 05 28 00 00 00 strtwo 2011 06 03 24 59 59 strthree 2011 05 28 strfour 2011 06 03 sql select from orders where createtime between strthree....
最近一段時間
嗯。乙個是從那時候開始忙了一段時間,然後就沒有時間寫博,而且那段時間也緊張,還有就是人的劣根性 惰性。從那時候開始,大概過了一周5.30號的進候辭職了,因為拿到了南京一家公司的offer,很快,大概是週三面試,周五面試,周五下午發offer。然後周一去辭職的。一切都是這麼快。其實為什麼決定這麼快,因...