검색 결과에 중복 항목이 포함되어 있지만 이전 검색어를 수정할 수있었습니다. 최신 기록을 검색하고 싶습니다. 예를 들어검색어에서 가장 최근 날짜를 검색합니다.
: 반환 결과는 날짜로 반환되지해야 ID를 2, 3 ID가 1 인 행되어야한다
id | firstname | lastname | email | date
1 | steven | smith | [email protected] 2013-06-10 04:01:25
2 | Bill | Johnson | [email protected] | 2014-06-10 04:01:25
3 | steven | smith | [email protected] | 2014-10-10 12:01:25
는 ID 3 일보다 오래된
어떻게 나는 이것을 아래의 쿼리에 추가합니까?
SELECT
users.firstname,
users.lastname,
DISTINCT(users.email),
users.pref
FROM (
SELECT
users.firstname,
users.lastname,
users.email,
users.status,
users.active,
CONCAT(
users.preference_1, ',',
users.preference_2, ',',
users.preference_3
) AS pref
FROM users
) AS users
WHERE users.status = 1
AND users.active = 1
AND users.date = (
SELECT MAX(u.date) FROM users AS u WHERE u.email = users.email
)
LIMIT 10000
(1) 아직도 하위 쿼리를 사용하고있는 이유는 무엇입니까? (2)'concat()'의 문법 오류가 수정되지 않은 이유는 무엇입니까? –
쿼리를 수정 했으므로 하위 쿼리를 사용해야합니다! – meWantToLearn
서브 쿼리를 사용할 날짜 문제 이외의 다른 이유가 있습니까? 나는 DISTINCT와 ORDER BY 키워드를 사용하는 이론적 인 해결책을 가지고있다. –