안녕하세요, 저는 smth별로 gruoup보다 날짜순으로 테이블 순서를 선택하고 싶습니다. 처음 phpmyadmin에서 오류 (sql_mode = only_full_group_by)를 주면 my.cnf에서 해당 플래그를 제거하여 문제를 해결할 수 있습니다.이 수정본이 장기적으로 좋은지 여부를 모릅니다. 어딘가에서이 수정 사항을 읽으면 원하지 않는 결과가 발생할 수 있습니다. . 나는 **select * from (select * from log order by date desc) tmp group by imei**
을 시도했지만 그 결과는 가장 새로운 날짜가 아닌 가장 오래된 날짜에서 나온 것이므로 마지막 아이디가 아닌 처음 아이디의 imei를 제공합니다.Mysql 날짜순으로 선택 desc 내림차순 그룹화
답변
그룹화 결과에 대해 입력을 주문했는지 여부는 중요하지 않습니다. 질문을 올바르게 해석하면 각 imei에 대한 최신 로그 항목을 가져오고 싶습니다. 당신은 이런 식으로 뭔가를해야 할 것 :
SELECT l1.*
FROM logs as l1
LEFT OUTER JOIN logs as l2
ON l1.imei = l2.imei
AND l1.date < l2.date
WHERE l2.date IS NULL
당신은 본질적으로 로그 항목 (L2)이 같은 IMEI에 존재하지 않는 각 로그 항목 (L1), 그러나 더 큰 일을 요청하는 곳.
당신이 각 IMEI의 마지막 로그 항목이 때 알고 싶은 경우이 충분히있을 것입니다 :
SELECT imei, MAX(date)
FROM log
GROUP BY imei
나는 trie를 가졌다. 첫 번째 명령은 너무 오래 걸리고 결과가 나타나지 않습니다.로드하는 중입니다. 당신이 2 - nd 명령을 whith 정확히 와트하고 싶지만 imei 및 날짜뿐만 아니라 모든 열을 sellect 싶어요 –
어디에 내가 l2.date null 삭제되었습니다하지만 그것은 내게 모든 테이블의 데이터를 고유 한 제공합니다. datas by imei –
결과가 오래 걸리면 imei 및 date 열에 인덱스를 추가해야합니다. "WHERE l2.date IS NULL"부분을 삭제하면 모든 항목을 묻습니다. 그러면 그 내용이 표시됩니다. – seven77
SELECT * 로그에서 WHERE의 아이디 (IMEI에 의해 로그 그룹에서 최대 (ID)를 선택)
- 1. 배열을 날짜순으로 정렬 PHP에서 날짜순으로 내림차순
- 2. 날짜순으로 그룹화
- 3. Mysql의 날짜순으로 그룹화하여 그룹화
- 4. PHP 배열 병합 및 정렬 날짜순으로 내림차순
- 5. mysql 테이블을 날짜순으로 표시합니다.
- 6. 오름차순 및 내림차순 MYSQL 정렬
- 7. MySql 테이블 선택 및 그룹화
- 8. MySQL GROUP BY 및 내림차순
- 9. 여러 열의 날짜순으로 그룹화 하시겠습니까?
- 10. 날짜순으로 시간 소인 필드 그룹화
- 11. 날짜순으로 팬더 데이터 프레임 그룹화
- 12. 내림차순 선택 정렬
- 13. 최신 날짜순으로 행 선택
- 14. 날짜순으로 sql 데이터 선택
- 15. Mysql 날짜순으로 정렬
- 16. 날짜순으로 mysql 쿼리
- 17. mysql 그룹화 가장 최근 날짜 선택
- 18. MySQL이 조인, 그룹화, 선택 항목 선택
- 19. MySql 그룹화 그룹화
- 20. 컬렉션의 하위 항목을 통해 날짜순으로 그룹화
- 21. 팬더의 날짜순으로 그룹화 한 후 관측
- 22. timestamp를 long으로 저장하는 열에서 날짜순으로 그룹화 (bigint)
- 23. Linq 가입 테이블, 날짜순으로 그룹화, 값의 합계?
- 24. sphinxsearch, Mysql like : order by lang = '2'desc, time_popular desc
- 25. MySQL : 여러 테이블에서 Distinct를 선택하고 날짜순으로 정렬하십시오.
- 26. mySQL 그룹 이름으로 그룹화
- 27. MySQL 그룹화 두 번
- 28. ID와 최신 날짜순으로 MySQL 그룹
- 29. AND 구문 그룹화 - MySQL
- 30. MySQL 그룹화 정렬 문제
'select * from (select * from log order by date desc) tmp group by imei'와'select * from (로그 날짜순으로 선택) tmp group by imei'의 결과에는 차이가 없습니다. –
나는'select * from (select * from log order to date desc limit 100) tmp group by imei' 시도했는데 작동하지만 결과를 제한하고 싶지 않다. –