I see what you're saying `active` was the alias name not an actual column. Ironically I was using a HAVING clause because I agree with that last post.
Mike, why keep the `IF` statement? You're really saying give me all the records where this expression is true. Why not just move the expression in the `IF` to the HAVING clause?
So take my old statement and ditch the where clause. You'll get:
SELECT * FROM wifi_table HAVING unix_timestamp()-unix_timestamp(last_seen) < 600;
A little easier on the eyes no?
Cheers, Adam
On Apr 6, 2004, at 9:42 PM, Michael Stassen wrote:
Adam,
That won't work. Daevid doesn't have a column named active. Nor does he have to do the math twice. As was pointed out earlier, he can do what he wants using HAVING instead of WHERE, like this:
SELECT *, IF(((unix_timestamp()-unix_timestamp(last_seen)) < 600),1,0) active FROM wifi_table HAVING active = 1;
Michael
Adam wrote:
Daevid, SELECT * FROM wifi_table WHERE active = 1 HAVING unix_timestamp()-unix_timestamp(last_seen) < 600; Regards, Adam On Apr 5, 2004, at 8:29 PM, Daevid Vincent wrote:I'm curious when will I be able to do something like this:
SELECT *, IF(( (unix_timestamp()-unix_timestamp(last_seen)) < 600),1,0) as
active FROM wifi_table WHERE active = 1;
It's so obnoxious, especially since I can do this:
SELECT *, IF(( (unix_timestamp()-unix_timestamp(last_seen)) < 600),1,0) as
active FROM wifi_table WHERE unix_timestamp()-unix_timestamp(last_seen) <
600;
Why do I have to do the math TWICE?!
*sigh*
-- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]