Skip to Main Content

MySQL Database

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

How MySQL monitor affect the Production database

User_OFA68Dec 13 2018 — edited Dec 16 2018

Is it recommend to implement MySQL Enterprise Monitor in Production servers? will it affect the performance?

This post has been answered by Dave Stokes-MySQL Community Team-Oracle on Dec 16 2018
Jump to Answer

Comments

Frank Kulash
Hi,

Assuming the columns bb, cl and la are never NULL:
SELECT	customer_key
,	GREATEST ( bb
		 , cl
		 , la
		 )	AS spend
FROM	TABLE_X
;
Assuming the numbers can be NULL, is there a lower bound to their possible values (such as 0)?
If so, use NVL to map NULLs to an impossibly low value, e.g. NVL (bb, -1). You may want to use NULLIF to map that back to NULL in the event that all 3 columns are NULL.
If not, unpivot the 3 columns in to one column and use the aggregate MAX function.
Kodiak_Seattle
Cooool, let me try that out, thanks!
Kodiak_Seattle
Ok, this worked, I guess I need one more thing, I need an additional field that will tell me which column the Greatest Spend Came from, like BB, or CL, or LA ?

How would something like that be done ?
Frank Kulash
Answer
Hi,

Use a CASE expression.
Assuming the numbers are distinct and not NULL:
SELECT	customer_key
,	GREATEST ( bb
		 , cl
		 , la
		 )	AS spend
,	CASE
		WHEN  bb >= GREATEST (cl, la)	THEN  'BB'
		WHEN  cl >= la	     	  	THEN  'CL'
		      	    			ELSE  'LA'
	END		AS column_name
FROM	table_x
;
Marked as Answer by Kodiak_Seattle · Sep 27 2020
Kodiak_Seattle
Thank you for your time!
Aketi Jyuuzou
I like simple case expression :D
SELECT customer_key,GREATEST(bb,cl,la) AS spend
CASE GREATEST(bb,cl,la)
when bb then 'BB'
when cl then 'CL'
when la then 'LA' END AS column_name
FROM    table_x;
1 - 6

Post Details

Added on Dec 13 2018
1 comment
167 views