2010-12-16 11 views
0

私はlastNamesとuserNamesのテーブルを持っています。私は、lastNameと対応するuserNameのために「最も小さい」(字句的に言えば)値を求めます。これは私が持っているものである(これは動作します):サブテーブルを使用してWHERE句でMIN SQL関数を参照するにはどうすればよいですか?

SELECT lastName, userName FROM user WHERE lastName IN (SELECT MIN(lastName) FROM user); 

は今、私はこれをしたいが、(例えば、唯一lastNamesは「P」で始まる)、テーブルのサブセットでそれを実行します。

SELECT subT.lastName, subT.userName 
FROM (SELECT lastName, userName FROM user WHERE lastName LIKE 'p%') AS subT 
WHERE subT.lastName=MIN(subT.lastName) 

これは機能しません。私はselect_itemとしてMIN関数を入れようとしましたが、MIN関数に対応するuserNameも必要です。これはどうすればいいですか?私はこれを開発するため

SELECT lastName, 
     userName 
    FROM user 
    WHERE lastName = (SELECT MIN(lastName) 
         FROM users 
         WHERE lastName LIKE 'p%') 

答えて

3
SELECT lastName, 
     userName 
    FROM user 
    WHERE lastName LIKE 'p%' 
ORDER BY lastName DESC 
    LIMIT 1 

あなたは同じ姓で複数のユーザーを取得することが予想される場合は

は、その後、サブクエリを使用しています。ありがとう!
+0

グレート出発点: – Avery

関連する問題