Php 如何获取SQL中的行数
我是SQL查询的初学者,所以我希望有人能在这方面帮助我 我有一个表,它有两列,分别称为MID和jachtID。 我需要的是计算有多少个相同的JachTid与不同的MID连接,如下所示: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
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