我的数据库是这样的,但这是一个演示:
id | pkg_name | pkg_value
1 | package 1 | 1200
2 | package 2 | 1200
3 | package 3 | 1200
4 | package 4 | 1200
5 | master | 1400
6 | master | 1500
这是我要查询的内容:
如果一项被列出2次或更多次,则仅算作2次。
如果仅列出1次,则仅算作1次。
请帮助我建立此查询!
我创建的用于计算所有字段和组的查询如下:
SELECT pkg_name, count(*) from packages GROUP by pkg_name
先谢谢了。
最佳答案
SELECT
pkg_name,
IF(COUNT(*)<=2, COUNT(*), 2) AS total
from packages GROUP by pkg_name
这应该可以,但是可能有一个更优化的版本,它不会两次执行计数。
关于php - 在SQL查询中的if语句中使用分组和大小写,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45499088/