Egyszerű lekérdezéses feladat:
use tempdb;
create table Ember
(
Nev nvarchar(50) not null,
Telefon nvarchar(50) not null
);
go
insert Ember(Nev, Telefon)
values
('Gizi', '22222222'),
('Gizi', '00000000'),
('Géza', '11111111'),
('Mari', '33333333');
go
--Ide jön a te query-d:
--A lekérdezés elvárt kimenetében minden név egyszer szerepel, és mindhez egy telefonszám, az, amelyik abc sorrendben az első:
--Géza 11111111
--Gizi 00000000
--Mari 33333333
drop table Ember;
A megfejtéseket szokás szerint kommentben várom, amelyeket 2 nap múlva engedek ki.
A Test Driven Development tanfolyam következő felvonása február kilencedikén lesz, szeretettel várom az érdeklődőket.
Could you hire me? Contact me if you like what I’ve done in this article and think I can create value for your company with my skills.
LEAVE A COMMENT
9 COMMENTS
select E.Nev, Telefon = min(E.Telefon) from Ember E group by E.Nev
select x.nev, min(x.telefon) from Ember x join Ember y on x.nev = y.nev group by x.nev;
Részemről egy kevésbé ismert módszert írnék:
select *
from Ember e1
where not exists (
select *
from Ember e2
where e1.Nev = e2.Nev
and e1.Telefon > e2.Telefon
)
select nev,min(telefon) from ember
group by nev
order by nev
SELECT ember.nev, Last(ember.telefonszám) AS LastOftelefonszám
FROM ember
GROUP BY ember.nev;
select Nev, MIN(Telefon) from Ember group by Nev
WITH Data AS
(
SELECT Nev, Telefon, ROW_NUMBER() OVER (PARTITION BY Nev ORDER BY Telefon) AS RowNumber
FROM Ember
)
SELECT Nev, Telefon
FROM Data
WHERE RowNumber = 1
Hali Soci,
Huú ezek nagyon jók, beszállok én is egy ilyen megoldással:
select Nev, MIN(Telefon)
from Ember
group by Nev
order by Nev
Üdv, EndreT