从数据库中的不同表中选择最大列名

时间:2016-11-30 15:42:17

标签: mysql-workbench

我正在从不同的表格中比较以获得MAXIMUM值的COLUMN_NAME

实施例。 这些是示例表:Fruit_tb,Vegetable_tb,State_tb,Foods_tb

在Fruit_tb下 fr_id fruit_one fruit_two 1 20 50

在Vegetables_tb下(v =蔬菜) v_id v_one V_two 1 10 9

在State_tb下 stateid stateOne stateTwo  1 70 87

在Food_tb下 foodid foodOne foodTwo 1 10 3

现在是这个场景,我希望在每个表中获得最大或最大值的COLUMN NAMES。

1 个答案:

答案 0 :(得分:0)

您可以找到包含列最大值的行。例如:

SELECT fr_id , MAX(fruit_one) FROM Fruit_tb GROUP BY fr_id;

为了找出表格的最大值:

SELECT fr_id ,fruit_one FROM Fruit_tb WHERE fruit_one<(SELECT max(fruit_one ) from Fruit_tb) ORDER BY fr_id DESC limit 1;

针对上述情况采取后续行动SO

也许您可以使用GREATEST来获取具有最大值的列名称。但那时我不确定你是否能够一次检索到不同表的所有列。您可以执行以下操作以从单个表中检索:

SELECT CASE GREATEST(`id`,`fr_id`)
         WHEN `id` THEN `id`
         WHEN `fr_id` THEN `fr_id`
         ELSE 0
       END AS maxcol,
       GREATEST(`id`,`fr_id`) as maxvalue FROM Fruit_tb; 

也许这SO可以帮到你。希望它有所帮助!