列表中特定项目的数量不同

时间:2016-07-01 11:20:32

标签: mysql

我很少在MySQL中做东西,所以对我来说这是火箭科学......

我想知道列表中有多少次以“abc-”开头的不同值 例如,有多少次“abc-table”和“abc-sofa”存在。

表格:

| object  
-----------  
| abc-table  
| def-table  
| ghi-chair  
| abc-sofa  
| abc-table 

结果应该是:

| name      number  
-------------------
| abc-table   2  
| abc-sofa    1

(对不起格式化的表格。)

我尝试了以下内容,但结果证明是错误的:

SELECT object, COUNT(DISTINCT object) WHERE object LIKE abc-% FROM table GROUP BY object

感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

使用count(*),grapt by,like' abc - %'

SELECT  object, COUNT(*) 
FROM table 
WHERE object LIKE 'abc-%'
group by object 
having count(*) >=1

答案 1 :(得分:1)

  • WHERE子句应在FROM之后。
  • '运算符使用单引号LIKE
  • 您的案件中无需DISTINCT

尝试以下查询:

SELECT `object` AS `name`, COUNT(`object`) AS `number`
FROM table 
WHERE `object` LIKE 'abc-%' 
GROUP BY `object`
ORDER BY COUNT(`object`) DESC; -- add order by if you need to sort by count

结果:

name      number
----------------
abc-table   2
abc-sofa    1

DEMO