mysql查询某一天的首次充值用户

CREATE TABLE order (
id int(11) NOT NULL AUTO_INCREMENT,
orderid varchar(120) COLLATE utf8_bin NOT NULL,
amount decimal(10,2) NOT NULL,
userid bigint(20) DEFAULT NULL COMMENT '用户ID',
crtime int(11) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=MyISAM CHARSET=utf8

如题,怎么样查今天首充的用户?(首充指之前注册的用户ID首次充值产生的收入)
谢谢!

我的思路是先查时间是今天的 然后用函数查询时间最小的那一组,最后外联b表

SELECT * FROM ordergather WHERE id>=507132 && id<=513409 && userid NOT IN (SELECT userid FROM ordergather B WHERE B.id<507132);

因为数据量太大,一运行就挂掉。。。。

我自己写的sql是
SELECT A.userid FROM order A
LEFT JOIN (SELECT userid FROM order WHERE id ON A.userid=B.userid
WHERE A.crtime>=1488816000 && A.crtime<=1488902399 && B.userid is NULL
但运行速度太慢了,哪位大神有更好的方法?