我有一个包含 id、sellprice、buyprice 和 date 列的表
id sellprice buyprice date
1 15 17 2012-6-10 10:21:09
2 18 20 2012-6-10 10:23:34
3 22 24 2012-6-10 10:24:21
4 19 21 2012-6-10 10:25:23
5 17 20 2012-6-10 10:29:34
6 16 19 2012-6-10 10:31:43
7 15 17 2012-6-10 10:34:51
8 16 21 2012-6-10 10:36:13
9 21 23 2012-6-10 10:39:21
我想选择 MIN buyprice 和 MAX sellprice;如果最高卖价在最低买价之后,那么我想比较一下我赚了多少钱——比如我从17买了,然后我卖了22。正如您在表中看到的,最小值和最大值可能会出现多次。如何查询以获得我想要的结果。
我正在尝试的查询有问题。如果我在 WHERE 子句中使用日期来限制,我会收到“子查询返回超过 1 行”警告并且什么也没有发生
$minmax_query="SELECT
MAX(sellprice) AS maxprice,
(SELECT id FROM $table WHERE sellprice = max(t2.sellprice) ) as maxId,
MIN(buyprice) AS minprice,
(SELECT id FROM $table WHERE buyprice = min(t2.buyprice) ) as minId
FROM $table t2 WHERE DATE(date) = '2012-06-10'