如何在不知道列名的情况下从表中的第二列获取最高值?在单个SQL查询中?
我得到了一组表格,其中我想要得到的值总是在第二列(这是表格总是这样做的一部分),但是每个表格中该列的名称是不同的。所以我可以使用一些可以获得此值的简单SQL查询。有任何想法吗?我知道用PHP和其他查询来提取列的名称是可行的,但我正在寻找优雅,纯粹的SQL解决方案:)
答案 0 :(得分: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
答案 1 :(得分:-1)
显而易见的解决方案是更改数据结构。制作 relational 和 normalized 在一个设计合理的数据库中,像你这样简单的问题是不可能的 始终有一个字段可以查询最高值。并且在字段列表中的位置绝对无关紧要。
作为重构数据库结构的副作用,您将拥有一个解决方案,解决您将来遇到的其他数百个问题。