MySQL查询,仅选择value=X且value<&燃气轮机;Y

MySQL查询,仅选择value=X且value<&燃气轮机;Y,mysql,Mysql,原始MySQL查询绝对不是我的强项,因此我对此有点纠结,但是:对于这样一个简单的表布局: +----+-----------+----------+---------------------+ | id | status_id | order_id | created_at | +----+-----------+----------+---------------------+ | 1 | 1 | 1 | 2016-03-21 20:40:39

原始MySQL查询绝对不是我的强项,因此我对此有点纠结,但是:对于这样一个简单的表布局:

+----+-----------+----------+---------------------+
| id | status_id | order_id | created_at          |
+----+-----------+----------+---------------------+
|  1 |     1     |     1    | 2016-03-21 20:40:39 |
|  2 |     3     |     1    | 2016-03-21 20:40:45 |
|  3 |     5     |     1    | 2016-03-21 20:47:14 |
|  4 |     1     |     2    | 2016-03-25 12:14:44 |
|  6 |     3     |     2    | 2016-03-25 12:16:12 |
|  7 |     5     |     2    | 2016-03-25 12:47:43 |
|  8 |     1     |     3    | 2016-03-26 17:25:12 |
|  9 |     3     |     3    | 2016-03-26 17:25:48 |
+----+-----------+----------+---------------------+
我只想选择
订单id
行,其中
状态id
等于
3
,但不想选择同一
订单id
状态id
5
的行。因此,我的查询应该只返回订单ID3,但我当前的查询将返回结果中的所有3个订单ID:

$statusQueryString = 'SELECT DISTINCT order_id 
    FROM shop_order_status_log_records 
    WHERE status_id = 3 AND status_id <> 5 ORDER BY created_at';
$statusQueryString='选择不同的订单\u id
来自车间\订单\状态\日志\记录
其中status_id=3,status_id为5,由在“”处创建的订单;

我的查询哪里出错了?

当每个组需要2个或更多条件时,请使用聚合后筛选。一个简单的规则,用于筛选具有筛选器组的行

SELECT order_id  FROM shop_order_status_log_records 
GROUP BY order_id 
HAVING SUM(status_id = 3)>0
AND SUM(status_id = 5)=0

当每个组需要2个或更多条件时,请使用聚合后筛选。一个简单规则,用于筛选具有筛选器组的行

SELECT order_id  FROM shop_order_status_log_records 
GROUP BY order_id 
HAVING SUM(status_id = 3)>0
AND SUM(status_id = 5)=0
非常感谢。我想可以肯定地说,我在相当长的一段时间内都不会明白这一点。考虑你自己接受…9分钟!非常感谢。我想可以肯定地说,我在相当长的一段时间内都不会明白这一点。考虑你自己接受…9分钟!