SQLいろいろ

Last-modified: 2014-12-02 (火) 12:02:35

年齢を算出する

SELECT bymd, floor*1/10000) nenrei
FROM `account`
where bymd is not null
order by bymd;

5歳ごとの集計

select bymd, age, Floor*2*5 ages from(

SELECT bymd, floor*3/10000) age
FROM `account`
where bymd is not null
order by bymd)t
;

年代ごとの集計

SELECT Concat(age,'年代')as age, Count(*) cnt FROM
(
  SELECT Truncate(((curdate() + 0) - (birthday + 0)) / 10000, -1) As age FROM users
)t
GROUP BY age
ORDER BY age;

*1 date_format(now(), '%Y%m%d') - date_format(bymd, '%Y%m%d'
*2 age/5
*3 date_format(now(), '%Y%m%d') - date_format(bymd, '%Y%m%d'