MySQL 有 if

标签 mysql sql having having-clause

我在使用 MySQL 查询时遇到问题。如果标签是“5”,那么我只想要当天有超过 10 个的记录,但其他标签的行数是任意的。在查询中完成此操作的最佳方法是什么?

SELECT id,name,label,date
FROM items
GROUP BY DATE('date'), label
HAVING COUNT(id) > 10 IF label = 5

最佳答案

我会在单个查询中执行此操作:

SELECT id, name, label, date
FROM items
WHERE date >= date(now()) and date < date(now()) + interval 1 day
GROUP BY label
HAVING (label <> 5) or (COUNT(id) > 10);

这似乎是最简单的方法。

关于MySQL 有 if,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26641560/

相关文章:

mysql - 如何搜索在 WHERE 条件或 HAVING 条件下可以返回 true 的值?

sql - 在 sqlite 数据库中查找满足条件交集的键

mysql - 如何计算条件匹配的 GROUP BY 查询的行数?

php - 如何在 PHP 中使用条件将 .csv 文件上传到 MySql 表

mysql - aes_decryption 在 phpmyadmin 中不起作用

php - 替换Mysql中的两行

mysql - 获取行数在内连接 rails 范围内

MySQL 多列搜索返回错误结果

mysql - 当 select 语句中给出格式 'dd-MM-YYYY' 未按预期工作时按日期排序

sql - 找到 X 行后如何停止在数据库中查找?