I thought I had learned something but don´t get this simple query to work.
I have the table Personal with the columns Flygtimmar Name and Befattning
SELECT Namn, Max(Flygtimmar) AS MaxFlygtimmar FROM Personal Where Befattning IN ( 'Pilot' AND 'Flygvärdinna')
And expect to get the max values from the column Flygtimmar and the value from the column Namn for the value Pilot respective Flygvärdinna in the Befattning column but get an error message.
SELECT Namn, Flygtimmar AS MaxFlygtimmar
FROM (
SELECT *, ROW_NUMBER() OVER(ORDER BY Flygtimmar DESC) AS row_num
FROM Personal
Where Befattning IN ( 'Pilot' AND 'Flygvärdinna')
) AS derived
WHERE row_num = 1
For me, the Swedish names add some nice flavor to the q!
Hmm, now that I look at that more closely, do you mean a given Namn has to include both 'Pilot' AND 'Flygvärdinna' values to be SELECTed in the query? Or just if it contains either one?
SELECT Namn, Flygtimmar AS MaxFlygtimmar
FROM (
SELECT *, ROW_NUMBER() OVER(PARTITION BY Namn ORDER BY Flygtimmar DESC) AS row_num
FROM Personal
Where Befattning IN ( 'Pilot', 'Flygvärdinna')
) AS derived
WHERE row_num = 1
SELECT p.Namn, Max(b.Flightnummer) MaxFlightnummer, Sum(b.Pris) SumPris
FROM dbo.Biljetttyp b
JOIN dbo.Passagerare p
ON b.Biljettyp = p.Biljettyp
WHERE
p.Flightnummer = 'SK405'
GROUP BY p.Namn ;
SELECT Max(Flygtimmar) AS MaxFlygtimmarpilot FROM Personal Where Befattning = 'Pilot'
SELECT Max(Flygtimmar) AS MaxFLygtimmarflygvardinna FROM Personal Where Befattning = 'Flygvärdinna'
I get only the max values from the column Flygtimmar
But when I
SELECT Personal.Fornamn, Personal.Befattning, Max(Personal.Flygtimmar) AS MaxFlygtimmar
FROM Personal
WHERE
Personal.Befattning = 'Pilot' OR Personal.Befattning = 'Flygvärdinna'
GROUP BY Personal.Flygtimmar, Personal.Fornamn, Personal.Befattning;
I get all the values from the table, not just the Max values even though I still have the query Max(Personal.Flygtimmar) AS MaxFlygtimmar
I want just the max values for the 'Pilots' and their names and the Maxvalue for the 'Flygvärdinna' and her name to show.
SELECT Fornamn, Befattning, MAX(Flygtimmar) AS Flygtimmar
FROM dbo.Personal
GROUP BY Fornamn, Befattning
HAVING (Befattning IN (N'Flygvärdinna', N'Pilot'))
Maybee my MS sql server management studio that is not working because when I input
SELECT Fornamn, Befattning, MAX(Flygtimmar) AS Flygtimmar
FROM Personal
GROUP BY Flygtimmar, Fornamn, Befattning
HAVING (Befattning IN ('Flygvärdinna', 'Pilot'))
I get the whole table, not just the max values...
Fornamn Befattning Maxflygtimmar
Bibbi Flygvärdinna 80
Zebra Flygvärdinna 100
Tova Flygvärdinna 200
Ullrika Flygvärdinna 200
Michelle Pilot 300
Amanda Flygvärdinna 330
Vera Flygvärdinna 390
Mohammed Pilot 400
Torstein Flygvärdinna 400
Charlie Flygvärdinna 495
Lara Flygvärdinna 500
Terese Flygvärdinna 600
Jet Flygvärdinna 740
Alvar Flygvärdinna 800
Eija Flygvärdinna 800
Tennessee Flygvärdinna 910
Mary Pilot 1000
Agnes Flygvärdinna 1200
Jouko Pilot 1200
Vassil Pilot 1200
Emil Flygvärdinna 1500
Vanja Flygvärdinna 1700
Neil Pilot 2125
Gork Pilot 2670
Neil Pilot 2900
Amanda Pilot 3100
Larry Pilot 3400
Abraham Pilot 4000
Ugi Pilot 4000
Can you please send me all you table data as form of insert query
send me full insert query whatever in table just put all in insert query.
Insert into Personal(Fornamn,Befattning,Flygtimmar) values ('A','Flygvärdinna',120)
Insert into Personal(Fornamn,Befattning,Flygtimmar) values ('A','Flygvärdinna',120)
Insert into Personal(Fornamn,Befattning,Flygtimmar) values ('A','Flygvärdinna',120)
Insert into Personal(Fornamn,Befattning,Flygtimmar) values ('A','Flygvärdinna',120)
you are looking for the max value from Flygtimmar and Befattning and whoes the foreman for that. for you i have created two views.
please run this and check it. From View B you will get the result.
check it and let me know that's your looking for.
CREATE VIEW [dbo].[A]
AS
SELECT TOP (100) PERCENT Befattning, MAX(Flygtimmar) AS Flygtimmar
FROM dbo.Personal
GROUP BY Befattning
GO
CREATE VIEW [dbo].[B]
AS
SELECT dbo.A.Befattning, dbo.A.Flygtimmar, dbo.Personal.Fornamn
FROM dbo.A LEFT OUTER JOIN
dbo.Personal ON dbo.A.Flygtimmar = dbo.Personal.Flygtimmar AND dbo.A.Befattning = dbo.Personal.Befattning
GO