繁体   English   中英

如何获取SQL中的行数

[英]How do I get count of a row in SQL

我是有关SQL查询的初学者,所以希望有人可以帮助我。

我有一个表,其中有2列称为MID和jachtID。 我需要的是计数多少个相同jachtIDS并附有不同的MIDS,如下所示:

MID   jachtID
89    10
95    10
83    11

结果应如下所示:

MID   jachtID  count
89    10       2
95    10       2
83    11       1

我尝试使用的所有行都需要这个

  SELECT count(DISTINCT jachtID) FROM table

但这只是给我一个大数字,而不是我需要的结果。

任何帮助,将不胜感激。

您可以尝试以下查询:

SELECT 
    T.MID,
    T.jachtID,
    jT.total
FROM table T INNER JOIN 
(
    SELECT 
    jachtID,
    COUNT(*) total
    FROM table 
    GROUP BY jachtID
)AS jT

ON T.jachtID = jT.jachtID 

首先通过以下查询获取每个jachtIDcount

 SELECT 
   jachtID,
   COUNT(*) total
 FROM table 
 GROUP BY jachtID

然后在主表和上面的查询之间进行INNER JOIN ,从而获得相应的jatchtID计数。

您也许可以使用GROUP BY魔术来做到这一点,但是我不确定,因为您需要所有行。 但是,可以使用子查询。

SELECT 
    a.MID, 
    a.jachtID,
    (SELECT count(b.jachtID) FROM table AS b WHERE b.jachtID= a.jachtID) AS `count` 
FROM table AS a

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM