Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何获取SQL中的行数_Php_Mysql - Fatal编程技术网

Php 如何获取SQL中的行数

Php 如何获取SQL中的行数,php,mysql,Php,Mysql,我是SQL查询的初学者,所以我希望有人能在这方面帮助我 我有一个表,它有两列,分别称为MID和jachtID。 我需要的是计算有多少个相同的JachTid与不同的MID连接,如下所示: MID jachtID 89 10 95 10 83 11 MID jachtID count 89 10 2 95 10 2 83 11 1 结果应该如下所示: MID jachtID 89 10 95 10

我是SQL查询的初学者,所以我希望有人能在这方面帮助我

我有一个表,它有两列,分别称为MID和jachtID。 我需要的是计算有多少个相同的JachTid与不同的MID连接,如下所示:

MID   jachtID
89    10
95    10
83    11
MID   jachtID  count
89    10       2
95    10       2
83    11       1
结果应该如下所示:

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 
 SELECT 
   jachtID,
   COUNT(*) total
 FROM table 
 GROUP BY jachtID

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

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 
 SELECT 
   jachtID,
   COUNT(*) total
 FROM table 
 GROUP BY jachtID

然后在主表和上面的查询之间进行一个
内部联接
,并得到相应的
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