3

アルファベット順に並べ替えた後、クエリの最初の結果だけを返そうとしています。

SELECT MIN(DisplayName) FROM [User] GROUP BY DisplayName

上記でうまくいくと思いました。ただし、すべての結果をアルファベット順に返しています。望ましい結果を得るにはどうすればよいですか?

4

8 に答える 8

7

あなたはする必要はありませんGROUP BY

SELECT MIN(DisplayName) 
FROM [User] 

また:

SELECT TOP 1 DisplayName
FROM [User]
ORDER BY DisplayName

GROUP BYリストされたフィールドの個別の値/値の組み合わせを返します。

于 2013-09-17T19:02:52.430 に答える
1

1行目だけ?次の方法でグループを削除するだけです。

SELECT MIN(DisplayName) FROM [User]
于 2013-09-17T19:03:31.203 に答える
1

最初のレコードを返すには、次のことを試すことができます。

Select TOP 1 MIN(DisplayName) FROM [User] ORDER BY DisplayName

これにより昇順でソートされ、最初のレコードが選択されます

于 2013-09-17T19:04:26.103 に答える
1

「結果」を取得して別のテーブルに参加する場合は、別の方法があります。

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
于 2013-09-17T19:31:21.803 に答える
-1
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);
于 2020-06-09T07:11:33.300 に答える