gpt4 book ai didi

mysql - SQL - 与 INSERT INTO...SELECT 和 COUNT(*) 混淆?

转载 作者:行者123 更新时间:2023-11-29 04:40:11 24 4
gpt4 key购买 nike

所以我有一个表 Movement,其中有一列名为 IDNumber。我想要做的是计算该列中每个 ID 的 ID 在 IDNumber 中出现的次数

我可以像这样为每个 ID 单独执行此操作:

SELECT COUNT(*)FROM movement WHERE IDNumber = 379; 
SELECT COUNT(*)FROM movement WHERE IDNumber = 654;
SELECT COUNT(*)FROM movement WHERE IDNumber = 789;
SELECT COUNT(*)FROM movement WHERE IDNumber = 878;

但我想对 所有 IDNumber 中的 ID 执行此操作,并且在一个查询中,因为我正在处理的实际数据集要大得多。那我该怎么做呢?

当我尝试这样做时,我创建了另一个表 IDNumbers,其中有一列 ID,它列出了 Movement 中存在的所有不同 ID ,我这样做了:

INSERT INTO IDCount(`ID`,`Count`)
SELECT n.ID, m.COUNT(*)
FROM movement m
JOIN IDNumbers n
ON n.ID = m.IDNumber

我希望结果是这样的:

IDNumber   COUNT 
379 2
654 1
789 1
878 1

这是 SQL Fiddle 为之。

但我知道那是完全错误的……我该怎么做呢?任何帮助将不胜感激,谢谢!!

最佳答案

怎么样:

SELECT IDNumber, Count(IDNumber) FROM movement
GROUP BY IDNumber

您没有说要求将其插入到表中,对吧?

关于mysql - SQL - 与 INSERT INTO...SELECT 和 COUNT(*) 混淆?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31036262/

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