アルファベット順に並べ替えた後、クエリの最初の結果だけを返そうとしています。
SELECT MIN(DisplayName) FROM [User] GROUP BY DisplayName
上記でうまくいくと思いました。ただし、すべての結果をアルファベット順に返しています。望ましい結果を得るにはどうすればよいですか?
アルファベット順に並べ替えた後、クエリの最初の結果だけを返そうとしています。
SELECT MIN(DisplayName) FROM [User] GROUP BY DisplayName
上記でうまくいくと思いました。ただし、すべての結果をアルファベット順に返しています。望ましい結果を得るにはどうすればよいですか?
あなたはする必要はありませんGROUP BY
:
SELECT MIN(DisplayName)
FROM [User]
また:
SELECT TOP 1 DisplayName
FROM [User]
ORDER BY DisplayName
GROUP BY
リストされたフィールドの個別の値/値の組み合わせを返します。
1行目だけ?次の方法でグループを削除するだけです。
SELECT MIN(DisplayName) FROM [User]
最初のレコードを返すには、次のことを試すことができます。
Select TOP 1 MIN(DisplayName) FROM [User] ORDER BY DisplayName
これにより昇順でソートされ、最初のレコードが選択されます
「結果」を取得して別のテーブルに参加する場合は、別の方法があります。
Use Northwind
GO
Select derived1.CustomerID, o.* from dbo.Orders o
join
(
SELECT top 1 CustomerID FROM [Customers] customers ORder by CustomerID
) as derived1
on derived1.CustomerID = o.CustomerID
select city,
length(city)
from (select city,
length(city)
from station
where length(city) in (select min(length(city)) from station)
order by city asc) where rownum<=1;
select city,
length(city)
from station
where length (city) in (select max(length(city)) from station);