Table with repeating data in each column
| userid | code | date |
|3 | YYYYYY | 2017-09-20 |
|3 | YYYYYY | 2017-09-21 |
|3 | YYYYYY | 2017-09-22 |
|1 | XXXXXX | 2017-09-22 |
|1 | XXXXXX | 2017-09-23 |
|3 | XXXXXX | 2017-09-23 |
|3 | XXXXXX | 2017-09-23 |
|2 | ZZZZZZ | 2017-09-23 |
|3 | ZZZZZZ | 2017-09-23 |
|1 | ZZZZZZ | 2017-09-24 |
このコードでMAX(日付)を取得し、このMAX(日付)と 'code'の 'userid'を取得する必要があります。グループは「コード」で表示されます。SQL:他の繰り返し値に基づいた繰り返し値の正確な最大値を選択
SELECT
t1.userid,
t1.code,
t1.date
FROM codes AS t1
INNER JOIN (
SELECT
userid,
code,
MAX(date) as maxdate
FROM codes
GROUP BY code
) AS t2
ON (t1.code = t2.code AND t1.date = t2.maxdate)
ORDER BY date
ただし、MAX(日付)の値はユーザーIDに基づいている必要があります。
コードにユーザー1と2と3がある場合、最大日付はユーザー3のコードに基づいている必要があります。
コードにユーザー2と3がある場合、最大日付はユーザー3コードに基づいている必要があります。
コードにユーザー1と2がある場合、最大日付はユーザー2のコードに基づいている必要があります。
コードにユーザー3がある場合、最大日付はユーザー3コードに基づいている必要があります。
コードにユーザー2がある場合、最大日付はユーザー2のコードに基づいている必要があります。
コードにユーザー1がある場合、最大日付はユーザー1のコードに基づいている必要があります。
応答が含まれていshuld:(各コードの1行目)「コード」によってgpoupと「ユーザID」の値に基づいてコード、ユーザーID、およびMAX(日付)
この選択を追加する方法は? 任意の助けてくれてありがとう) SQL Fiddle
使用しているデータベースで質問にタグを付けます。 –