当前位置: 首页 > 面试题库 >

获取列名而不是列值

慕鸿波
2023-03-14
问题内容

我的桌子table1如下

id   d1   d2   d3   d4
1    6    7    8    9
2    13   10   11   12
3    16   17   14   15
4    19   20   21   18

输出表如下

id   d1    d2     d3     d4   min    min_col
1    6     7      8      9    6      d1
2    13    10     11     12   10     d2
3    16    17     14     15   14     d3
4    19    20     21     18   18     d4

我的查询就像: SELECT d1, d2, d3, d4, least(d1, d2, d3, d4) as min FROM table1

我无法编写查询;我将如何获得最小列名而不是最小值?我将如何完成min_col田野?


问题答案:

您可以使用一个case表达式来做到这一点:

SELECT d1, d2, d3, d4, least(d1, d2, d3, d4) as min_value,
       (CASE  least(d1, d2, d3, d4)
            WHEN d1 THEN 'd1'
            WHEN d2 THEN 'd2'
            WHEN d3 THEN 'd3'
            WHEN d4 THEN 'd4'
        END) as min_column_name
FROM table1;


 类似资料:
  • 问题内容: 如何使用Schema,DB或Eloquent在Laravel 4中获取数组或对象中表的列名。 似乎找不到可用的功能,也许您有一些自定义实现。 谢谢。 问题答案: 新答案 在我给出这个答案的时候, Laravel还没有直接做到这一点的方法 ,但是现在您可以: 旧答案 使用属性将不起作用,因为如果您这样做 您没有为该模型设置任何属性,您将一无所获。 然后仍然没有真正的选择,因此我不得不深入

  • 我试图访问MyModelClass上的getter方法,但我的代码返回

  • 问题内容: 我想将所有mysql表的col名称放入php数组中吗? 是否对此有疑问? 问题答案: 最好的方法是使用INFORMATION_SCHEMA元数据虚拟数据库。特别是INFORMATION_SCHEMA.COLUMNS表… 它非常强大,可以为您提供大量信息,而无需解析文本(例如列类型,列是否可为空,最大列大小,字符集等)… 哦,这是标准的SQL(这是MySQL的特定扩展名)… 有关表之间的

  • 问题内容: 我正在尝试获取已存储在SQL Server 2008 R2中的表的列名。 我已经尝试了一切,但似乎找不到解决方法。 现在这是我在C#中的代码 但这又给了我以下 有任何想法吗? 它显示标签,因为这是我的Web服务发送数据的方式。 问题答案: 您可以使用下面的查询来获取表的列名。下面的查询获取给定名称的用户表的所有列: 在您的代码中,它将如下所示:

  • 问题内容: 这是用于提供行和列ID时提供COLUMN名称的代码,但是当我提供like值时,它应该返回,但返回 我在做什么错了? (此代码是EXCEL列的参考,在这里我提供了Row,Column ID值,并期望相同的ALPHABETIC值。) 问题答案: 编辑:我认为我必须承认,正如其他一些人(他们从未留下过我的评论)所指出的那样,我的答案的上一版本(您接受了)存在一个错误,该错误使其无法正确处理大

  • 在R中,当需要根据可以执行的列名称检索列索引时 有没有一种方法可以对熊猫数据帧执行相同的操作?