Tôi có ví dụ này dữ liệu:SQL Nhóm Bằng - hồ sơ đếm mỗi tháng/năm, lỗi trên chèn - KHÔNG PHẢI LÀ MỘT THÁNG HỢP LỆ
Country | Members | Joined
USA | 250 | 1/1/2012
USA | 100 | 1/8/2012
Russia | 75 | 1/20/2012
USA | 150 | 2/10/2012
Khi tôi truy vấn dữ liệu này, tôi muốn kết hợp lại tất cả các bản ghi trong một tháng đã cho. Kết quả của truy vấn sẽ trông như thế:
Country | Members | Joined
USA | 350 | 1/2012
Russia | 75 | 1/2012
USA | 150 | 2/2012
Là một lựa chọn đó là đủ đơn giản:
select country, count(*) as members , to_char(trunc(joined), 'MM-YYYY')
from table
group by country, to_char(trunc(joined), 'MM-YYYY')
truy vấn đó sẽ cho tôi dữ liệu theo định dạng tôi muốn, tuy nhiên vấn đề của tôi là khi tôi đi vào chèn vào một bảng tổng hợp mới Tôi gặp lỗi vì lệnh to_char() trong câu lệnh chọn đang được đặt vào cột DATETIME (lỗi: ORA-01843 - không phải là tháng hợp lệ)
Khi tôi thay đổi to_char() trong select to to_date(), nó vẫn không hoạt động (cùng lỗi, ORA-01843 - không phải là tháng hợp lệ):
select country, count(*) as members, to_date(trunc(joined), 'MM-YYYY')
from table
group by country, to_date(trunc(joined), 'MM-YYYY')
Bất kỳ đề xuất về cách sửa đổi truy vấn này theo cách như vậy mà tôi có thể chèn kết quả vào một bảng mới có "tham gia" cột là kiểu DATETIME?
cảm ơn trước vì bất kỳ mẹo/đề xuất/nhận xét nào!
trong đầu tôi đây chính xác là những gì tôi đang cố gắng tìm ra. cảm ơn nhiều! –