在MySQL中运行复杂的查询

Aleksa Ristic

我已经阅读了多个答案,但是仍然无法做到。

所以我有这样的表:

表格1

| ID     |  COL1    |  COL2    |
| 1      |  10      |  Item_1  |
| 2      |  10      |  Item_2  |
| 3      |  10      |  Item_3  |
| 4      |  11      |  Item_2  |
| 4      |  11      |  Item_4  |
| 5      |  12      |  Item_1  |
| 6      |  12      |  Item_3  |

首先,我需要运行此命令,SELECT COL1 FROM TABLE1 WHERE COL2 = ITEM2 GROUP BY COL1该命令返回我1011

现在,在那之后,我需要运行它:SELECT COUNT(ID) AS 'COUNT', COL2 from TABLE1 group by COL2 order by 'COUNT' DESC LIMIT 5在这里,我需要添加WHERE一条语句,以便它不会在整个表上运行,而只能在哪里运行COL1 = any result from first selection

因此,第二条命令将返回如下内容:

2    Item_2
1    Item_1
1    Item_3
1    Item_4

那么如何从一个查询中实现呢?

戈登·利诺夫

您可以过滤where

SELECT COUNT(T1.ID) AS cnt, COL2 
FROM TABLE1 T1
WHERE T1.COL1 IN (SELECT TT1.COL1
                  FROM TABLE1 TT1
                  WHERE TT1.COL2 = 'ITEM2'
                 )
GROUP BY T1.COL2 
ORDER BY cnt DESC
LIMIT 5;

请注意,它IN会删除重复项,因此不需要GROUP BY(或SELECT DISTINCT)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在MySQL中运行重复的复杂空间查询时性能降低

来自分类Dev

mysql数据库中的复杂查询

来自分类Dev

MySQL中复杂的联接和MAX()查询

来自分类Dev

在mysql查询中执行复杂的计算

来自分类Dev

MySql - 在复杂查询中获取 rowid/order

来自分类Dev

如何在Laravel中运行复杂的SQL查询

来自分类Dev

MySql:复杂的聚合查询

来自分类Dev

复杂的MySQL删除查询

来自分类Dev

MySql:复杂的聚合查询

来自分类Dev

复杂的mysql查询DISTINCT

来自分类Dev

复杂的MySQL查询代码

来自分类Dev

MySQL中两个表中的复杂查询

来自分类Dev

MySQL查询未在MySQL Workbench中运行

来自分类Dev

Elasticsearch中的复杂查询

来自分类Dev

mysql JOIN与GROUP_CONCAT在复杂的查询中

来自分类Dev

MySQL优化使查询NOT IN复杂化(在2 SELECT WITH JOIN中)

来自分类Dev

使用子查询中的值进行复杂的MySQL更新

来自分类Dev

卡在一个复杂的MySQL查询中

来自分类Dev

MySQL:如何在复杂的联合查询中求和不同的行

来自分类Dev

如何在以下复杂的MySQL查询中删除空列

来自分类Dev

如何在yii中运行mysql查询

来自分类Dev

如何在mysql中运行子查询

来自分类Dev

MySQL查询不在cronjob中运行

来自分类Dev

在Smarty模板中运行的MySQL查询

来自分类Dev

MySQL查询未在SQLite中运行

来自分类Dev

MySQL查询不能在MSSQL中运行

来自分类Dev

什么先在mysql中运行查询

来自分类Dev

复杂的mySQL两表查询

来自分类Dev

多对多的复杂MySQL查询