我正在尝试创建基本上返回true或false的MySQL查询.我想跑
SELECT COUNT(id)
FROM comments
WHERE comment_date >= 1306904400
AND user_id = 1
Run Code Online (Sandbox Code Playgroud)
因此,如果用户本月在论坛上发布了10次,我希望它只返回1,否则我希望它返回0表示他们没有.
这可能在SQL中有效吗?
mu *_*ort 26
如果您不介意MySQL特定的东西,那么您可以使用IF:
select if(count(id) >= 10, 1, 0)
from comments
where comment_date >= 130690440
and user_id = 1
Run Code Online (Sandbox Code Playgroud)
或MySQL布尔值(1为真,0为假):
select count(id) >= 10
from comments
where comment_date >= 130690440
and user_id = 1
Run Code Online (Sandbox Code Playgroud)
如果你想坚持标准的SQL,那么CASE你的朋友是:
select case when count(id) >= 10 then 1 else 0 end
from comments
where comment_date >= 130690440
and user_id = 1
Run Code Online (Sandbox Code Playgroud)
Xin*_*nt0 11
用途CASE:
SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END AS `flag`
FROM `comments`
WHERE `comment_date` >= 1306904400 AND `user_id` = 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
30109 次 |
| 最近记录: |