MySQL查询方式不好

时间:2017-07-24 03:51:12

标签: mysql sql dml

我有以下查询来检查客户订阅。这在查询中不是很正确的方法,但我不知道如何优化或纠正它​​。这里是。

SELECT sub_id FROM subscription 
WHERE start_date = CURDATE()
AND end_date > CURDATE()
AND sub_id NOT IN (SELECT DISTINCT sub_id FROM subscription
WHERE start_date < CURDATE());

子查询的原因是筛选出以前至少执行过订阅的sub_id。

1 个答案:

答案 0 :(得分:1)

您不需要SharedPreferences settings = getSharedPreferences("myPrefs", 0); int colorIndex = settings.getInt("colorIndex", 0); 子查询 - 您已经拥有条件SELECT DISTINCT sub_id FROM subscription WHERE start_date < CURDATE()

start_date = CURDATE()

此查询将选择从SELECT sub_id FROM subscription WHERE start_date = CURDATE() AND end_date > CURDATE() 开始的所有订阅,并在将来的某一天停止。