2017-09-15 11 views
-1
tableName 

|name | header | date  | 
|--------|--------|-----------| 
|abc  | def | 2016-08-16| 
|pqr  | xyz | 2015-11-20| 

一番早く入力された名前を表示するクエリを作成したかったのですが、最も早く投稿された要素を表示する方法は?

select name from tableName where date(date) = min(date)エラーが発生しました。

私はインターネットで答えを探しましたが、探しているものが見つかりませんでした。この問題に関する助言や助言は大歓迎です。

+0

参照:[私は非常に単純なSQLクエリであると思われるためにMCVEを提供するのはなぜですか?](https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an -mcve-for-what-like-to-me-to-be-a-very-simple-sql-query) – Strawberry

+0

答えはあなたの質問に当てはまります(最小値でスワップ)https://stackoverflow.com/questions/19432913/select-info-from-table-where-row-has-max-date/19433107#19433107バカオの答えは良いです。 – Twelfth

答えて

0

あなたはnameだけでなく、datemysql keywordsなので、あなたが列名としてそれらを使用してはならないこと

select name from tableName where date(date) = (select min(date) from tableName) 
3

使用order bylimit

SELECT `name` 
FROM tableName 
ORDER BY `date` 
LIMIT 1 

注意を使用することができます。

+0

それらはキーワードかもしれませんが、予約されていないので、私の本では列名としての使用は問題ありません。 – Strawberry

+0

そう、私は** should not **と書いたのです。 @イチゴ 。確かに間違いはありませんが、紛らわしいのでキーワードを使わないようにしています... select date(date)は私には奇妙に聞こえます。 – baao

+1

この文脈では、 'date'は日時になります;-) – Strawberry

関連する問題