我有一个与此相似的简单表格。我需要最小操作数的数字和文字。
我遇到的问题是我确实在MySQL中获得了预期的结果,但是我的工作环境无法做到这一点。它会打印所有唯一的文本,因此对于每个数字和最少的操作,我都会获得所有数据。无论如何,我认为子查询将起作用,因为我可以交叉链接同一张表以只获取min(amount)的一行。
首先这是我想要的结果:
+-------------+--------+-------+
| min(action) | number | text1 |
+-------------+--------+-------+
| 1 | 108 | A1 |
+-------------+--------+-------+
这是我的数据代码:
CREATE TABLE t1
(
action int (10),
number int (10),
text1 text);
insert into T1 values
( 1, 108,'A1'),
( 2, 108,'A2'),
( 3, 108,'A3'),
( 4, 108,'A4'),
( 5, 108,'A5');
这在MySQL中有效,但在我的环境中无效:
SELECT
min(action)
, number
, text1
FROM t1
GROUP by number;
, text1;
这是我需要帮助的地方:
SELECT
t1.number,
t2.text1
FROM t1
LEFT JOIN
(
SELECT t2.action
, t2.text1
FROM t1 AS t2 )
ON t1.action = t2.action
GROUP by t1.number;
答案 0 :(得分:0)
使用子查询而不是使用联接
select * from t1 where action in (select min(action) from t1);