我很少在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
感谢任何帮助。
答案 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