小编rwc*_*and的帖子

计算子查询中的行数

简单:我想计算子查询中的行数。请注意,状态是主机是否在线。

错误代码

SELECT COUNT(ip_address) FROM `ports` (
    SELECT DISTINCT ip_address FROM `ports` WHERE status IS TRUE
)
Run Code Online (Sandbox Code Playgroud)

解释

第一个查询在单独运行时返回:

SELECT DISTINCT ip_address FROM `ports` WHERE status IS TRUE
Run Code Online (Sandbox Code Playgroud)
SELECT COUNT(ip_address) FROM `ports` (
    SELECT DISTINCT ip_address FROM `ports` WHERE status IS TRUE
)
Run Code Online (Sandbox Code Playgroud)

自行运行的第二个查询返回:

SELECT COUNT(ip_address) FROM `ports`
Run Code Online (Sandbox Code Playgroud)
SELECT DISTINCT ip_address FROM `ports` WHERE status IS TRUE
Run Code Online (Sandbox Code Playgroud)

我想知道如何计算 5 个 IP 地址的列表。

我一直在网上寻找这个简单问题的可能解决方案,但感到沮丧,所以我想问问专家。

mysql select mysql-5.5

21
推荐指数
2
解决办法
12万
查看次数

使用 WHERE 条件插入行

结构

1 个表名为:scan

2 列名为:iddate

问题

我有两个工作查询,一个 SELECT 和一个 INSERT,我想将它们合并在一起创建一个条件等于 0 的 INSERT。

查询1

如果数据库中最新的ID 行具有今天的扫描日期,则显示“1”,否则当不存在今天的日期时显示“0”。

SELECT
  COUNT(scan.date) AS datecheck
FROM scan
WHERE scan.id = (SELECT
    MAX(scan.id) AS datecheck
  FROM scan
  WHERE scan.date = CURDATE())
Run Code Online (Sandbox Code Playgroud)

查询2

如果今天没有条目,意味着结果为“0”,则创建一个包含 ID+1 和当前日期的新行。

INSERT INTO `scan`(`id`, `date`) SELECT (MAX(id)+1), CURDATE() FROM scan;
Run Code Online (Sandbox Code Playgroud)

我已经尝试了几个小时了,但还没有成功,如果您能告诉我哪里出了问题并让我知道正确的查询是什么,我将不胜感激。谢谢。

mysql insert select mysql-5.5

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

mysql ×2

mysql-5.5 ×2

select ×2

insert ×1