gpt4 book ai didi

mysql - 查询比较多个值

转载 作者:行者123 更新时间:2023-11-30 00:12:11 25 4
gpt4 key购买 nike

我从 SQL 开始,遇到了一些我不知道的事情。我有一个包含事件的数据库(例如某些桌面发生的问题的描述)以及包含已安装软件和桌面硬件的其他表格。

我正在尝试创建一个 SQL 查询,该查询将仅显示安装了常用软件的工作站上的事件。就像我有 10 次服务器重置事件一样,我想知道这些服务器中有多少安装了相同的软件。

目前我有这个:

-- Query to find out how many times each omschriving (description) occurs
-- and to show only those that occur more than one time
SELECT incidents.omschrijving, COUNT(omschrijving) AS Aantal
FROM hondsrug_db.incidents incidents
WHERE (hardware.hardwareID = installed_software.hardwareID)
AND (incidents.hardwareID = hardware.hardwareID)
GROUP BY incidents.omschrijving
HAVING COUNT(omschrijving) > 1
ORDER BY Aantal DESC

如本 ERD 所示 http://nl.tinypic.com/view.php?pic=oayr9i&s=8#.U4ibbfl_sbg表installed_software 由 2 个外键组成。这是因为一个硬件组件可以安装多个软件组件。对于该表来说,这意味着硬件ID 可以在installed_software 表中出现多次,但每次都会出现另一个软件ID。现在我想知道,如果有 10 个服务器事件,您如何找到有多少服务器拥有相同的软件集?

提前致谢

最佳答案

以下查询连接 incidentsinstalled_softwaresoftware 表。

对于每个事件,都会从 installed_software 表中查找服务器 (hardwareID) 和软件 (softwareID)。软件名称 (naam) 从 software 表中查找。

SELECT software.softwareID, software.naam, count(installed_software.hardwareID)
FROM hondsrug_db.incidents incidents
INNER JOIN hondsrug_db.installed_software installed_software
ON incidents.hardwareID = hardwareID
INNER JOIN hondsrug_db.software software
ON installed_software.softwareID = software.softwareID
GROUP BY installed_software.softwareID;

关于mysql - 查询比较多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23957566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com