我想每年不计算身份证。
我的表schame: - id号,s_date日期
和数据
- - - - + -----------
| id | s_date |
+ ----- + ------------ +
| 1 | 2013-10-15 |
| 10 | 2013-10-27 |
| 11 | 2013-10-27 |
| 12 | 2013-10-27 |
| 13 | 2013-01-27 |
| 14 | 2013-11-11 |
| 15 | 2013-11-10 |
| 16 | 2012-11-10 |
| 17 | 2013-01-10 |
| 18 | 2012-10-27 |
| 2 | 2013-10-16 |
| 3 | 2013-10-16 |
| 4 | 2013-10-16 |
| 5 | 2013-10-17 |
| 6 | 2013-10-17 |
| 7 | 2013-10-17 |
| 8 | 2013-10-18 |
| 9 | 2013-10-26 |
我希望O / p喜欢
+ ----------- + -------------- +
| tot | year1 |
+ ----------- + -------------- +
| 2 | 2012 |
| 16 | 2013 |
+ ----------- + -------------- +
我的商店程序: -
的MySQL> CREATE PROCEDURE sen49()
-> begin
-> declare year1 datetime;
-> declare tot INT;
-> select count(id) INTO tot,year(s_date) INTO year1 from year_info group by year(s_date);
-> end $$
错误: -
ERROR 1327(42000):未声明的变量:年
所以请帮我解决这个错误....年份声明我尝试日期和varchar数据类型...但是没有解决这个错误。
答案 0 :(得分:1)
试试这段代码 -
BEGIN
SELECT YEAR(s_date) year, COUNT(*) count FROM year_info GROUP BY YEAR(s_date);
END
答案 1 :(得分:0)
易:
SELECT COUNT(*), SUBSTRING(s_date, 1, 4) AS Year
FROM table
GROUP BY SUBSTRING(s_date, 1, 4)
如果需要,MySQL可以将日期字段视为“字符串”,并以ISO格式存储它们(YYYY-MM-DD)