0

我有一个包含 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'
4

0 回答 0