Làm cách nào để truyền DATETIME dưới dạng DATE trong mysql?


92

Truy vấn của tôi là cái này. Tôi có một loạt các mục và tôi muốn nhóm chúng theo ngày. Nhưng thay vì có ngày trong cơ sở dữ liệu của mình, tôi có trường ngày giờ. Tôi làm gì?

select * from follow_queue group by follow_date cast follow_date as date

Nó không hoạt động.


2
Hãy thử: select * from follow_queue group by cast(follow_date as date)đầu tiên.
NawaMan 23/09/09

3
bạn không cần truyền, chỉ cần sử dụng hàm DATE ()
markus 23/09/09

Hàm DATE () không truyền ngày giờ thành một chuỗi? Chắc chắn, nó hoạt động để phân nhóm theo ngày, nhưng tôi nghĩ câu trả lời của NawaMan đúng hơn dựa trên cách viết của câu hỏi
DJDave

Câu trả lời:


179

Sử dụng DATE()chức năng:

select * from follow_queue group by DATE(follow_date)

Làm cách nào để nhận "số lượng" các mục nhập mỗi ngày? Chỉ cần chọn trường, đếm (*) từ nhóm follow_queue theo ngày (follow_date)?
Zack Burt

3
Đúng vậy. select DATE(follow_date), count(*) from follow_queue group by 1
ChssPly76 23/09/09

2
Nhóm 1? Điều đó nghĩa là gì?
Zack Burt 23/09/09

11
Nó có nghĩa là nhóm theo cột đầu tiên trong danh sách chọn, trong trường hợp này DATE(follow_date). Bạn có thể làm điều đó với ORDER BYcũng - ORDER BY 1, 2Ví dụ
ChssPly76

-7

3
Câu trả lời đúng / giống nhau đã được cung cấp 5 năm trước khi bạn đăng bài. Nếu bạn muốn cung cấp các siêu liên kết, chỉ cần thêm chúng dưới dạng nhận xét dưới câu hỏi. Đây không phải là câu trả lời có giá trị và có vẻ như một số tình nguyện viên khác cũng đồng ý - dựa trên số phiếu phản đối. Vui lòng xóa nếu bạn đồng ý với logic của tôi và bạn sẽ khôi phục được điểm đại diện đã mất (nếu không, Cộng đồng có thể quyết định thực hiện hành động này thay cho bạn).
mickmackusa
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.