0

如果它通过类似的语法,我想计算行数。我有一列有 3 个不同的变量 A、N 或两者都有 AN。我想总结它是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
4

2 回答 2

0

不能将 % 通配符与 = 比较运算符一起使用。

count(if(intezkedes = '%n%',1,0))

应该是

count(if(intezkedes LIKE '%n%',1,0))

或者,由于您尝试匹配单个字符,因此更好

count(if(intezkedes = 'N',1,0))
于 2013-11-13T09:57:29.503 回答
0

我发现问题出在 count() 方法上,我将其更改为 sum(),现在它工作正常

选择 szallito_nev,从临时 GROUP BY szallito_nev 中提取(来自 beerkezes_datuma 的月份)作为 honap,sum(if(intezkedes like '%n%',1,0))作为'N',提取(来自 beerkezes_datuma 的月份);

于 2013-11-13T12:49:03.777 回答