如果它通过了like语法,我想计算一下行数。我有一个列,它有3个不同的变量A,N或两者都有。我想求和是A还是N,或者两者都是。我每个公司都需要它
我将尝试下面这行代码:
select szallito_nev, extract(month from beerkezes_datuma) as het, count(if(intezkedes = '%n%',1,0))as 'N' from temporary GROUP BY szallito_nev,extract(month from beerkezes_datuma);但它给了我很多东西。
主表
DUPAREC PAPÍRGYŰJTŐ ÉS FELD. KFT |2013-11-11 15:42:19 | Á
HAMBURGER RECYCLING ADRIA D.O.O. |2013-11-11 16:57:01 | N
HAMBURGER RECYCLING POLSKA |2013-11-11 17:09:36 | N
KALO-MÉH TR. KFT |2013-11-11 17:26:1 | N
HAMBURGER RECYCLING POLSKA |2013-11-11 17:50:28 | N
DUPAREC PAPÍRGYŰJTŐ ÉS FELD. KFT |2013-11-11 15:28:00 | Á我想要的是
company |month|number of N
A.K.S.D. VÁROSGAZDÁLKODÁSI KFT |11 |4
AVE TATABÁNYA ZRT |11 |0
B.P. SELECTIVE 2001 KFT |11 |2
BÜCHL HUNGÁRIA KFT |11 |1发布于 2013-11-13 17:57:30
不能将%通配符与=比较运算符一起使用。
count(if(intezkedes = '%n%',1,0))应该是
count(if(intezkedes LIKE '%n%',1,0))或者,由于您正在尝试匹配单个字符,因此更好
count(if(intezkedes = 'N',1,0))发布于 2013-11-13 20:49:04
我发现问题出在count()方法上,我把它改为sum(),现在它工作得很好
select szallito_nev,extract(month from beerkezes_datuma) as honap,sum(if(intezkedes like '%n%',1,0))as 'N‘from temporary GROUP BY szallito_nev,extract(month from beerkezes_datuma);
https://stackoverflow.com/questions/19950335
复制相似问题