作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有没有办法在 GROUP BY 查询中包含 LIKE 表达式?例如:
SELECT Count(*)
FROM tblWhatever
GROUP BY column_x [LIKE %Fall-2009%]
列_x:
--------
BIOL-Fall_2009
HIST Fall_2009
BIOL Spring_2009
结果:
------
Fall_2009 2
Spring_2009 1
最佳答案
您需要一个返回“Fall_2009”或“Spring_2009”的表达式,然后对该表达式进行分组。例如:
-- identify each pattern individually w/ a case statement
SELECT
CASE
WHEN column_x LIKE '%Fall[_]2009' THEN 'Fall 2009'
WHEN column_x LIKE '%Spring[_]2009' THEN 'Spring 2009'
END AS group_by_value
, COUNT(*) AS group_by_count
FROM Table1 a
GROUP BY
CASE
WHEN column_x LIKE '%Fall[_]2009' THEN 'Fall 2009'
WHEN column_x LIKE '%Spring[_]2009' THEN 'Spring 2009'
END
或
-- strip all characters up to the first space or dash
SELECT
STUFF(column_x,1,PATINDEX('%[- ]%',column_x),'') AS group_by_value
, COUNT(*) as group_by_count
FROM Table1 a
GROUP BY
STUFF(column_x,1,PATINDEX('%[- ]%',column_x),'')
或
-- join to a (pseudo) table of pattern masks
SELECT b.Label, COUNT(*)
FROM Table1 a
JOIN (
SELECT '%Fall[_]2009' , 'Fall, 2009' UNION ALL
SELECT '%Spring[_]2009', 'Spring, 2009'
) b (Mask, Label) ON a.column_x LIKE b.Mask
GROUP BY b.Label
关于sql - T-SQL - GROUP BY 和 LIKE - 这可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1647736/
我是一名优秀的程序员,十分优秀!