私はDate()でグループ化しようとしています。私は時間に関わらず、年、月、日によってのみグループたいと思い時間に関係なく日付でグループ化するには?
2011-12-03 08:00:24, 2011-12-03 08:12:10, 2011-12-04 09:00:00
:私はcreated_at
列に3つのレコードを持っています。上記の例のためです。 2行しか返さないでください:
2011-12-03 and 2011-12-04
どうすればよいですか?
私はDate()でグループ化しようとしています。私は時間に関わらず、年、月、日によってのみグループたいと思い時間に関係なく日付でグループ化するには?
2011-12-03 08:00:24, 2011-12-03 08:12:10, 2011-12-04 09:00:00
:私はcreated_at
列に3つのレコードを持っています。上記の例のためです。 2行しか返さないでください:
2011-12-03 and 2011-12-04
どうすればよいですか?
これは、年月日
SELECT group_by_column
, DATE_FORMAT(created_at, '%Y')
, DATE_FORMAT(created_at, '%m')
, DATE_FORMAT(created_at, '%d')
FROM my_table
GROUP BY group_by_column
によってグループにあなたを可能にするべきであるか、一緒にすべてをしたい場合。
SELECT group_by_column
, DATE_FORMAT(created_at, '%Y%m%d')
FROM my_table
GROUP BY group_by_column
です.Rails 3では、AR: 'Foobar.group( 'DATE_FORMAT(created_at、"%Y%m%d ")')'です。ありがとうございます –
... group by date(date_time_column)
次を試してみましたか?
SELECT
DATE(created_at) AS created_date
FROM
my_table
GROUP BY
created_date
はい、これを日付と時間でグループ化します –
GROUP BY DATE(created_at)
です。つまり、ActiveRecordは.group(DATE(created_at))
に翻訳されます。
実際、この正確な例はRails Guides on ActiveRecord queryingで利用できます。
Date()関数を使用できます。
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date
mysql> SELECT DATE('2003-12-31 01:02:03');
-> '2003-12-31'
は、このOracle/MySQLのなどですか? – Ben
こんにちはベン、これはMySQL –