0

如何在不知道列名的情况下从表中的第二列获取最大值?在单个 SQL 查询中?

我有一组表,我想获得的值总是在第二列中(这是总是制作表的方式的一部分),但每个表中该列的名称不同。所以我可以使用一些简单的 SQL 查询来获取这个值。有任何想法吗?我知道使用 PHP 和附加查询来提取列名是可行的,但我正在寻找优雅的纯 SQL 解决方案:)

4

2 回答 2

1

这将是一个乏味的过程。但是,如果有必要,您可以使用表ORDINAL_POSITION中的information_schema.columns列来获取第 N 列名称。

SELECT column_name 
FROM information_schema.columns 
WHERE table_name = "your table name" 
AND ordinal_position = 1 --replace 1 with your N

检查这个。

于 2013-03-04T12:47:36.707 回答
-1

显而易见的解决方案是更改数据结构。使其相关规范化
在一个设计合理的数据库中,像你这样简单的问题是不可能的。
总有一个字段可以查询最高值。并且在字段列表中的位置绝对无关紧要。

作为重构数据库结构的副作用,您将获得解决未来数百个其他问题的解决方案。

于 2013-03-04T13:08:11.557 回答