mysql - To get only first record from the group of employee -


i have follwing data:

emp_no  emp_name    login   level   hod_name    assigend_ip loggedin_ip attendece_location  shift_timing e31446  amit singh  09:39   direct  p00212  172.29.23.53    172.29.23.53    cso-ackruti star-6f 09:30-18:30 e31446  amit singh  09:39   direct  p00212  172.29.23.53    172.29.23.53    cso-ackruti star-6f 09:30-18:30 e39787  anita haridas shenoy    09:41   indirect    e31446  172.29.24.38    172.29.23.55    cso-ackruti star-6f 09:30-18:30 e39787  anita haridas shenoy    09:41   indirect    e31446  172.29.24.38    172.29.24.38    cso-ackruti star-6f 09:30-18:30 e39787  anita haridas shenoy    09:41   indirect    e31446  172.29.24.38    172.29.23.55    cso-ackruti star-6f 09:30-18:30 e39787  anita haridas shenoy    09:41   indirect    e31446  172.29.24.38    172.29.24.38    cso-ackruti star-6f 09:30-18:30 e37731  ramesh shukla   09:40   indirect    e31446  172.29.23.43    172.29.23.43    cso-ackruti star-6f 09:30-18:30 e37731  ramesh shukla   09:40   indirect    e31446  172.29.23.43    172.29.23.55    cso-ackruti star-6f 09:30-18:30 e33995  rakesh sharma   08:21   direct  p00212  172.29.23.17    172.29.23.17    cso-ackruti star-6f 09:30-18:30 e43130  lubna shaikh    09:37   indirect    e33995  172.29.23.54    172.29.23.54    cso-ackruti star-6f 09:30-18:30 e43130  lubna shaikh    09:37   indirect    e33995  172.29.23.54    172.29.23.58    cso-ackruti star-6f 09:30-18:30 e43130  lubna shaikh    09:37   indirect    e33995  172.29.23.54    172.29.23.54    cso-ackruti star-6f 09:30-18:30 e43130  lubna shaikh    09:37   indirect    e33995  172.29.23.54    172.29.23.58    cso-ackruti star-6f 09:30-18:30 e43455  manish shukla       indirect    e33995  172.29.23.45    172.29.23.45    cso-ackruti star-6f 09:30-18:30 e44920  shweta salve    09:18   indirect    e33995  172.29.23.55    172.29.23.55    cso-ackruti star-6f 09:30-18:30 

now want filter data in such manner, can data following output:

emp_no  emp_name    login   level   hod_name    assigend_ip loggedin_ip attendece_location  shift_timing e31446  amit singh  9:39    direct  p00212  172.29.23.53    172.29.23.53    cso-ackruti star-6f 09:30-18:30 e39787  anita haridas shenoy    9:41    indirect    e31446  172.29.24.38    172.29.23.55    cso-ackruti star-6f 09:30-18:30 e37731  ramesh shukla   9:40    indirect    e31446  172.29.23.43    172.29.23.43    cso-ackruti star-6f 09:30-18:30 e33995  rakesh sharma   8:21    direct  p00212  172.29.23.17    172.29.23.17    cso-ackruti star-6f 09:30-18:30 e43130  lubna shaikh    9:37    indirect    e33995  172.29.23.54    172.29.23.54    cso-ackruti star-6f 09:30-18:30 e43455  manish shukla       indirect    e33995  172.29.23.45    172.29.23.45    cso-ackruti star-6f 09:30-18:30 e44920  shweta salve    9:18    indirect    e33995  172.29.23.55    172.29.23.55    cso-ackruti star-6f 09:30-18:30 

the output should contain first record of each employee.. how can write query ?

the following full working example using row_number function. key part following row:

row_number() on ( partition [emp_no] order [emp_no] )  

it means "id" number generated each row, grouping rows [emp_no] column. if need other criteria sort, can use 1 of columns.

this whole code:

set nocount on go      declare @datasource table     (          [emp_no] varchar(6)         ,[emp_name] nvarchar(24)         ,[login] varchar(6)         ,[level] nvarchar(25)         ,[hod_name] nvarchar(24)         ,[assigend_ip ] nvarchar(64)         ,[loggedin_ip ] nvarchar(64)         ,[attendece_location] nvarchar(64)         ,[shift_timing] nvarchar(64)     )       insert @datasource     values   ('e31446','amit singh','09:39',' direct','p00212','172.29.23.53','172.29.23.53','cso-ackruti star-6f','09:30-18:30')             ,('e31446','amit singh','09:39',' direct','p00212','172.29.23.53','172.29.23.53','cso-ackruti star-6f','09:30-18:30')             ,('e39787','anita haridas shenoy','09:41',' indirect','e31446','172.29.24.38','172.29.23.55','cso-ackruti star-6f','09:30-18:30')             ,('e39787','anita haridas shenoy','09:41',' indirect','e31446','172.29.24.38','172.29.24.38','cso-ackruti star-6f','09:30-18:30')             ,('e39787','anita haridas shenoy','09:41',' indirect','e31446','172.29.24.38','172.29.23.55','cso-ackruti star-6f','09:30-18:30')             ,('e39787','anita haridas shenoy','09:41',' indirect','e31446','172.29.24.38','172.29.24.38','cso-ackruti star-6f','09:30-18:30')             ,('e37731','ramesh shukla',' 09:40',' indirect','e31446','172.29.23.43','172.29.23.43','cso-ackruti star-6f','09:30-18:30')             ,('e37731','ramesh shukla',' 09:40',' indirect','e31446','172.29.23.43','172.29.23.55','cso-ackruti star-6f','09:30-18:30')             ,('e33995','rakesh sharma',' 08:21',' direct','p00212','172.29.23.17','172.29.23.17','cso-ackruti star-6f','09:30-18:30')             ,('e43130','lubna shaikh','09:37',' indirect','e33995','172.29.23.54','172.29.23.54','cso-ackruti star-6f','09:30-18:30')             ,('e43130','lubna shaikh','09:37',' indirect','e33995','172.29.23.54','172.29.23.58','cso-ackruti star-6f','09:30-18:30')             ,('e43130','lubna shaikh','09:37',' indirect','e33995','172.29.23.54','172.29.23.54','cso-ackruti star-6f','09:30-18:30')             ,('e43130','lubna shaikh','09:37',' indirect','e33995','172.29.23.54','172.29.23.58','cso-ackruti star-6f','09:30-18:30')             ,('e43455','manish shukla','',' indirect','e33995','172.29.23.45','172.29.23.45','cso-ackruti star-6f','09:30-18:30')             ,('e44920','shweta salve','09:18',' indirect','e33995','172.29.23.55','172.29.23.55','cso-ackruti star-6f','09:30-18:30')      ;with datasource     (         select row_number() on ( partition [emp_no] order [emp_no] ) [recordnumber]               ,[emp_no]                ,[emp_name]                ,[login]                ,[level]                ,[hod_name]                ,[assigend_ip ]                ,[loggedin_ip ]                ,[attendece_location]                ,[shift_timing]          @datasource     )     select [emp_no]            ,[emp_name]            ,[login]            ,[level]            ,[hod_name]            ,[assigend_ip ]            ,[loggedin_ip ]            ,[attendece_location]            ,[shift_timing]      datasource     [recordnumber] = 1  set nocount off go 

and output:

enter image description here


Comments

Popular posts from this blog

basic authentication with http post params android -

vb.net - Virtual Keyboard commands -

css - Firefox for ubuntu renders wrong colors -