日期:2014-05-17  浏览次数:20499 次

请教一个关于索引的问题
表A中一个字段是datetime型,放的是例如2013-07-16 15:02:09.123
并对这个字段单独建了索引,我要查询整个7月份(1-31号)的数据,where 条件要怎样写才能利用上这个索引?

------解决方案--------------------
引用:
我要按天group by呢?用 group by datename吗?这样的话索引会失效吧?

--按天group by索引会失效。
SELECT dt=CONVERT(CHAR(10),dt,120),cnt=COUNT(*) FROM tb
WHERE dt >= '2013-07-01' AND dt < '2013-08-01'
GROUP BY CONVERT(CHAR(10),dt,120) --可以先过滤再GROUP BY;如果你对所有数据都GROUP BY,也就没必须用索引了