我有一张这样的表:
Name Count
23feb.01.04.(33.03.03) 1
23feb.09.(12.04.06) 9
23feb.02.09.(25.06) 1
23feb.01.02.04 2
23feb.01.02 48
23feb.02.13 4
23feb.01.04.(33.03.10) 1
23feb.01.04.(33.03.06) 1
23feb.02 48
23feb.02.07 12
23feb.01.04.(33.03.01) 1
23feb.02.02 3
23feb.02.04 11
23feb 279
23feb.02.06 3
23feb.03 83
有没有办法让group by
函数获取Name
字符串的更高级别的聚合结果?所以,理想的结果是:
Name Count
23feb 507
怎么做?
答案 0 :(得分:2)
您可以查询的任何(行)表达式也可以是按表达式分组:
SELECT SUBSTR(name, 1, INSTR(name, '.')), COUNT(*)
FROM my_table
GROUP BY SUBSTR(name, 1, INSTR(name, '.'))
答案 1 :(得分:1)
要避免使用Like
通配符,您可以使用LEFT
SELECT LEFT(name,5), COUNT(*)
FROM my_table
GROUP BY LEFT(name,5)