2012-08-10 63 views
-2

示例MySQL;如何計算過去24小時內創建的註冊表?

username work date(TIMESTAMP) 

x  1 2012-08-08 12:15:33 
x  3 2012-10-08 12:11:33 
x  4 2012-08-08 11:15:33 
x  2 2012-07-08 12:15:33 

我想用一條規則來控制;

X只能在24小時內完成3個工作的mysql註冊表。

我找不到真正的MySQL命令。 如何通過MySQL和php來控制?

+0

你可以嘗試改述你的問題嗎?很難理解你的意思。 – Ashe 2012-08-11 05:52:53

回答

3

這會給你算超過3

select username from table 
where date>=dateadd(current_date+interval -1 day) 
group by username 
having count(*)>3 
+0

@Slavez時,它給出語法錯誤您需要更改查詢以適合您的數據庫需求。 'table'表和'date'字段就是典型的答案。 – Whisperity 2012-08-10 11:56:48

+0

當我嘗試時,它總是給出錯誤,所以我給你發送了我的mysql表格圖像,也許這可以提供幫助。 http://666kb.com/i/c69hhgneis16umdgh.png – Slavez 2012-08-10 11:57:48

+0

表名:kupon – Slavez 2012-08-10 11:58:22

1

這將返回有多少職位被在最後一天,用戶「X」設置:

select count(*) as jobCount from yourTable where date>=date_sub(now(), 1 day) and userName='x' 

放置一個新的工作時看到,如果用戶在列表和jobCount是您可以檢查至少3

+0

當我嘗試使用我的值 select count(*)as jobCount from kupon where syntax> = date_sub(now(),1 day)和isim ='slavez' – Slavez 2012-08-10 11:52:19

0

我認爲這是你在找什麼:

SELECT username , COUNT(1) AS cnt 
FROM table_name 
WHERE `date` >= DATE_SUB(CURRENT_DATE, INTERVAL 1 day), 
GROUP BY username 
HAVING cnt <= 3; 
+0

給語法錯誤:( – Slavez 2012-08-10 11:52:57

+0

它應該工作,你可以發佈錯誤? – Omesh 2012-08-10 13:26:42

相關問題