我很难理解这一点。
我有一个这样的数据表:
表:
<表类>Column_A Column_X Column_Y Column_Z tbody><<tr>1234 红椿木 城市 从 1235 星 汽车 从 1226 星 汽车 从 3234 红椿木 城市 从 4435 星 汽车 从 5555 星 汽车 从 5555 红椿木 城市 从 3333 星 汽车 从 1111 星 汽车 从 表类>
我更愿意在这里简单地获取例如在Column_A中具有最低值的那个:
SELECT Column_X, Column_Y, Column_Z, MIN(Column_A) AS Column_A
FROM yourtable
GROUP BY Column_X, Column_Y, Column_Z;
这很简单。它将根据您的示例数据产生以下结果:
<表类>Column_X Column_Y Column_Z Column_A tbody><<tr>星 汽车 从 1111 图恩城市 从 1234 表类>
你猜了
Top 1(Column_A)???
典型的解决方案是
MIN(Column_a)
当然还有其他的,比如MAX,或者使用ORDER BY,然后选择第一行。
关键是要使用"aggregate"函数与GROUP BY。一些数据库供应商,例如mysql,在这一点上有点松懈。返回单个任意行的值。但是为了符合sql92,最好使用聚合。这样你就知道规格了,返回的结果将是完全可预测的和可再生的。
I Tried on MYSQL:
SELECT Column_A, Column_X, Column_Y, Column_Z
FROM test
GROUP BY Column_X ORDER BY Column_A ASC
这将给出期望的输出。